#include "precompiled.h"
#include "lib/sysdep/os_cpu.h"
#include "lib/alignment.h"
#include "lib/bits.h"
#include "lib/module_init.h"
Go to the source code of this file.
static Status DetectMaxCpus |
( |
| ) |
|
|
static |
static bool IsMaxCpusSufficient |
( |
| ) |
|
|
static |
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 183 of file lcpu.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 80 of file lcpu.cpp.
size_t os_cpu_MemoryAvailable |
( |
| ) |
|
- Returns
- the current amount [MB] of available memory.
Definition at line 94 of file lcpu.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 35 of file lcpu.cpp.
size_t os_cpu_PageSize |
( |
| ) |
|
- Returns
- the size [bytes] of a MMU page (4096 on most IA-32 systems)
Definition at line 69 of file lcpu.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 58 of file lcpu.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 87 of file lcpu.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 146 of file lcpu.cpp.