#include "precompiled.h"
#include "lib/sysdep/os_cpu.h"
#include "lib/alignment.h"
#include "lib/bits.h"
#include "lib/module_init.h"
#include "valgrind.h"
#include <sys/param.h>
#include <sys/sysctl.h>
Go to the source code of this file.
execute the specified function once on each processor.
this proceeds serially (the callback is never reentered) in increasing order of processor ID. fails if process affinity prevents running on all processors.
Definition at line 115 of file bcpu.cpp.
size_t os_cpu_LargePageSize |
( |
| ) |
|
- Returns
- the size [bytes] of a large MMU page (4 MiB on most IA-32 systems) or zero if they are not supported.
Definition at line 79 of file bcpu.cpp.
size_t os_cpu_MemoryAvailable |
( |
| ) |
|
- Returns
- the current amount [MB] of available memory.
Definition at line 98 of file bcpu.cpp.
size_t os_cpu_NumProcessors |
( |
| ) |
|
- Returns
- the number of processors available to this process.
note: this function is necessary because POSIX sysconf _SC_NPROCESSORS_CONF is not suppored on MacOSX, else we would use that.
Definition at line 34 of file bcpu.cpp.
size_t os_cpu_PageSize |
( |
| ) |
|
- Returns
- the size [bytes] of a MMU page (4096 on most IA-32 systems)
Definition at line 68 of file bcpu.cpp.
uintptr_t os_cpu_ProcessorMask |
( |
| ) |
|
- Returns
- bit mask of processors that exist and are available to this process. its population count is by definition equal to os_cpu_NumProcessors().
Definition at line 57 of file bcpu.cpp.
size_t os_cpu_QueryMemorySize |
( |
| ) |
|
- Returns
- the size [MB] of physical memory as reported by the OS; no caching/validation is performed.
Definition at line 86 of file bcpu.cpp.
uintptr_t os_cpu_SetThreadAffinityMask |
( |
uintptr_t |
processorMask | ) |
|
restrict the current thread to a set of processors.
- Parameters
-
processorMask | a bit mask of acceptable processors (bit index i corresponds to processor i) |
- Returns
- the previous mask
Definition at line 109 of file bcpu.cpp.