Refactor CalculateAffinityMapSize and add CreateAffinityMap
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 28s
Builds / ExectOS (amd64, release) (push) Successful in 41s
Builds / ExectOS (i686, release) (push) Successful in 39s
Builds / ExectOS (i686, debug) (push) Successful in 32s

This commit is contained in:
2026-06-09 22:53:37 +02:00
parent 4cbefe3a22
commit a9202f5b57
2 changed files with 75 additions and 6 deletions

View File

@@ -20,7 +20,9 @@ namespace KE
public:
STATIC XTFASTCALL VOID AtomicSetProcessorAffinity(IN OUT PKAFFINITY_MAP AffinityMap,
IN ULONG CpuNumber);
STATIC XTFASTCALL ULONG CalculateAffinityMapSize(IN ULONG CpuCount);
STATIC XTFASTCALL VOID CalculateAffinityMapSize(IN ULONG CpuCount,
OUT PULONG RequiredMapSize,
OUT PULONG RequiredBlockCount);
STATIC XTFASTCALL BOOLEAN CheckProcessorAffinity(IN PKAFFINITY_MAP AffinityMap,
IN ULONG CpuNumber);
STATIC XTFASTCALL VOID ClearAffinityMap(IN OUT PKAFFINITY_MAP AffinityMap);
@@ -29,6 +31,8 @@ namespace KE
STATIC XTAPI VOID CopyAffinity(OUT PKAFFINITY_MAP Destination,
IN PKAFFINITY_MAP Source);
STATIC XTAPI XTSTATUS CreateAffinityMap(IN ULONG CpuCount,
OUT PKAFFINITY_MAP* AffinityMap);
STATIC XTAPI ULONG FindNextLeftSetProcessor(IN ULONG ThreadSeed,
IN PKAFFINITY_MAP AffinityMap);
STATIC XTAPI ULONG FindNextRightSetProcessor(IN ULONG ThreadSeed,