tuklib_cpucores.c (292588) | tuklib_cpucores.c (312518) |
---|---|
1/////////////////////////////////////////////////////////////////////////////// 2// 3/// \file tuklib_cpucores.c 4/// \brief Get the number of CPU cores online 5// 6// Author: Lasse Collin 7// 8// This file has been put into the public domain. --- 4 unchanged lines hidden (view full) --- 13#include "tuklib_cpucores.h" 14 15#if defined(_WIN32) || defined(__CYGWIN__) 16# ifndef _WIN32_WINNT 17# define _WIN32_WINNT 0x0500 18# endif 19# include <windows.h> 20 | 1/////////////////////////////////////////////////////////////////////////////// 2// 3/// \file tuklib_cpucores.c 4/// \brief Get the number of CPU cores online 5// 6// Author: Lasse Collin 7// 8// This file has been put into the public domain. --- 4 unchanged lines hidden (view full) --- 13#include "tuklib_cpucores.h" 14 15#if defined(_WIN32) || defined(__CYGWIN__) 16# ifndef _WIN32_WINNT 17# define _WIN32_WINNT 0x0500 18# endif 19# include <windows.h> 20 |
21// glibc >= 2.9 22#elif defined(TUKLIB_CPUCORES_SCHED_GETAFFINITY) 23# include <sched.h> 24 |
|
21// FreeBSD 22#elif defined(TUKLIB_CPUCORES_CPUSET) 23# include <sys/param.h> 24# include <sys/cpuset.h> 25 26#elif defined(TUKLIB_CPUCORES_SYSCTL) 27# ifdef HAVE_SYS_PARAM_H 28# include <sys/param.h> --- 15 unchanged lines hidden (view full) --- 44{ 45 uint32_t ret = 0; 46 47#if defined(_WIN32) || defined(__CYGWIN__) 48 SYSTEM_INFO sysinfo; 49 GetSystemInfo(&sysinfo); 50 ret = sysinfo.dwNumberOfProcessors; 51 | 25// FreeBSD 26#elif defined(TUKLIB_CPUCORES_CPUSET) 27# include <sys/param.h> 28# include <sys/cpuset.h> 29 30#elif defined(TUKLIB_CPUCORES_SYSCTL) 31# ifdef HAVE_SYS_PARAM_H 32# include <sys/param.h> --- 15 unchanged lines hidden (view full) --- 48{ 49 uint32_t ret = 0; 50 51#if defined(_WIN32) || defined(__CYGWIN__) 52 SYSTEM_INFO sysinfo; 53 GetSystemInfo(&sysinfo); 54 ret = sysinfo.dwNumberOfProcessors; 55 |
56#elif defined(TUKLIB_CPUCORES_SCHED_GETAFFINITY) 57 cpu_set_t cpu_mask; 58 if (sched_getaffinity(0, sizeof(cpu_mask), &cpu_mask) == 0) 59 ret = CPU_COUNT(&cpu_mask); 60 |
|
52#elif defined(TUKLIB_CPUCORES_CPUSET) 53 cpuset_t set; 54 if (cpuset_getaffinity(CPU_LEVEL_WHICH, CPU_WHICH_PID, -1, 55 sizeof(set), &set) == 0) { 56# ifdef CPU_COUNT 57 ret = CPU_COUNT(&set); 58# else 59 for (unsigned i = 0; i < CPU_SETSIZE; ++i) --- 32 unchanged lines hidden --- | 61#elif defined(TUKLIB_CPUCORES_CPUSET) 62 cpuset_t set; 63 if (cpuset_getaffinity(CPU_LEVEL_WHICH, CPU_WHICH_PID, -1, 64 sizeof(set), &set) == 0) { 65# ifdef CPU_COUNT 66 ret = CPU_COUNT(&set); 67# else 68 for (unsigned i = 0; i < CPU_SETSIZE; ++i) --- 32 unchanged lines hidden --- |