Pyrogenesis HEAD
Pyrogenesis, a RTS Engine
|
#include "precompiled.h"
#include "lib/sysdep/os_cpu.h"
#include "lib/alignment.h"
#include "lib/bits.h"
#include "lib/config2.h"
#include "lib/module_init.h"
Functions | |
size_t | os_cpu_NumProcessors () |
uintptr_t | os_cpu_ProcessorMask () |
size_t | os_cpu_PageSize () |
size_t | os_cpu_LargePageSize () |
size_t | os_cpu_QueryMemorySize () |
size_t | os_cpu_MemoryAvailable () |
static bool | IsMaxCpusSufficient () |
static Status | DetectMaxCpus () |
uintptr_t | os_cpu_SetThreadAffinityMask (uintptr_t processorMask) |
restrict the current thread to a set of processors. More... | |
Status | os_cpu_CallByEachCPU (OsCpuCallback cb, uintptr_t cbData) |
execute the specified function once on each processor. More... | |
Variables | |
static size_t | maxCpus |
|
static |
|
static |
Status os_cpu_CallByEachCPU | ( | OsCpuCallback | cb, |
uintptr_t | cbData | ||
) |
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.
size_t os_cpu_LargePageSize | ( | ) |
size_t os_cpu_MemoryAvailable | ( | ) |
size_t os_cpu_NumProcessors | ( | ) |
note: this function is necessary because POSIX sysconf _SC_NPROCESSORS_CONF is not suppored on MacOSX, else we would use that.
size_t os_cpu_PageSize | ( | ) |
uintptr_t os_cpu_ProcessorMask | ( | ) |
size_t os_cpu_QueryMemorySize | ( | ) |
uintptr_t os_cpu_SetThreadAffinityMask | ( | uintptr_t | processorMask | ) |
restrict the current thread to a set of processors.
processorMask | a bit mask of acceptable processors (bit index i corresponds to processor i) |
|
static |