tools: add tst_ncpus/_max api to get number of CPUS
Add tst_ncpus and tst_ncpus_max api to get the number of CPUS
online and configured.
Signed-off-by: Wanlong Gao <gaowanlong@cn.fujitsu.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Acked-by: Caspar Zhang <caspar@casparzhang.com>
diff --git a/lib/safe_macros.c b/lib/safe_macros.c
index b9802fc..9c50f89 100644
--- a/lib/safe_macros.c
+++ b/lib/safe_macros.c
@@ -386,3 +386,24 @@
return rval;
}
+
+long safe_sysconf(const char *file, const int lineno,
+ void (cleanup_fn)(void), int name)
+{
+ long rval;
+ errno = 0;
+
+ rval = sysconf(name);
+
+ if (rval == -1) {
+ if (errno == EINVAL)
+ tst_brkm(TBROK|TERRNO, cleanup_fn,
+ "sysconf failed at %s:%d", file, lineno);
+ else
+ tst_resm(TINFO, "queried option is not available"
+ " or thers is no definite limit at %s:%d",
+ file, lineno);
+ }
+
+ return rval;
+}