diff options
Diffstat (limited to 'src/gc/env')
-rw-r--r-- | src/gc/env/gcenv.base.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/gc/env/gcenv.base.h b/src/gc/env/gcenv.base.h index 83726f4eab..97f1661b0d 100644 --- a/src/gc/env/gcenv.base.h +++ b/src/gc/env/gcenv.base.h @@ -176,6 +176,12 @@ typedef DWORD (WINAPI *PTHREAD_START_ROUTINE)(void* lpThreadParameter); #endif // _MSC_VER +typedef struct _PROCESSOR_NUMBER { + uint16_t Group; + uint8_t Number; + uint8_t Reserved; +} PROCESSOR_NUMBER, *PPROCESSOR_NUMBER; + #endif // _INC_WINDOWS // ----------------------------------------------------------------------------------------------------------- @@ -600,4 +606,21 @@ public: }; #endif // STRESS_HEAP +class NumaNodeInfo +{ +public: + static bool CanEnableGCNumaAware(); + static void GetGroupForProcessor(uint16_t processor_number, uint16_t * group_number, uint16_t * group_processor_number); + static bool GetNumaProcessorNodeEx(PPROCESSOR_NUMBER proc_no, uint16_t * node_no); +}; + +class CPUGroupInfo +{ +public: + static bool CanEnableGCCPUGroups(); + static uint32_t GetNumActiveProcessors(); + static void GetGroupForProcessor(uint16_t processor_number, uint16_t * group_number, uint16_t * group_processor_number); +}; + + #endif // __GCENV_BASE_INCLUDED__ |