Bug fix for ncpus if hyperthreading turned off in linux

This commit is contained in:
Booker C. Bense 2013-08-19 11:14:05 -07:00
parent 64b4d1fb66
commit f12edfd073
2 changed files with 18 additions and 6 deletions

View file

@ -1270,12 +1270,20 @@ fi
AC_MSG_CHECKING([for number of cpus])
AC_TRY_COMPILE([#include <unistd.h>],
[sysconf(_SC_NPROCESSORS_CONF) > 0;],
AC_DEFINE(HAVE_SYSCONF__SC_NPROCESSORS_CONF,1,[Define if sysconf returns number of cpus])
AC_MSG_RESULT([sysconf(_SC_NPROCESSORS_CONF)]),
[sysconf(_SC_NPROCESSORS_ONLN) > 0;],
AC_DEFINE(HAVE_SYSCONF__SC_NPROCESSORS_ONLN,1,[Define if sysconf returns number of cpus])
AC_MSG_RESULT([sysconf(_SC_NPROCESSORS_ONLN)]),
AC_MSG_RESULT([cannot calculate])
)
AC_TRY_COMPILE([#include <unistd.h>],
[sysconf(_SC_NPROCESSORS_CONF) > 0;],
AC_DEFINE(HAVE_SYSCONF__SC_NPROCESSORS_CONF,1,[Define if sysconf returns number of cpus])
AC_MSG_RESULT([sysconf(_SC_NPROCESSORS_CONF)]),
AC_MSG_RESULT([cannot calculate])
)
AC_PATH_PROG(PATH_TO_UPTIME,uptime)
AC_ARG_WITH(uptime_command,
ACX_HELP_STRING([--with-uptime-command=PATH],

View file

@ -82,10 +82,14 @@
getting that data
Will return -1 if cannot get data
*/
#ifdef HAVE_SYSCONF__SC_NPROCESSORS_CONF
#define GET_NUMBER_OF_CPUS() sysconf(_SC_NPROCESSORS_CONF)
#ifdef HAVE_SYSCONF__SC_NPROCESSORS_ONLN
#define GET_NUMBER_OF_CPUS() sysconf(_SC_NPROCESSORS_ONLN)
#else
#define GET_NUMBER_OF_CPUS() -1
# ifdef HAVE_SYSCONF__SC_NPROCESSORS_CONF
# define GET_NUMBER_OF_CPUS() sysconf(_SC_NPROCESSORS_CONF)
# else
# define GET_NUMBER_OF_CPUS() -1
# endif
#endif
#ifdef TIME_WITH_SYS_TIME