PpmParkReportUnparkedCores
INT64 __fastcall PpmParkReportUnparkedCores(){
INT64 result;
INT64 v1;
unsigned __int16 *v2[2];
__int16 v3;
int v4;
__int16 v5;
void *retaddr;
UINT64 ProcessorNumber;
result = (INT64)&retaddr;
v4 = 0;
v5 = 0;
LODWORD(ProcessorNumber) = 0;
if( PpmIsParkingEnabled
&& (result = KeSubtractAffinityEx(
(_KAFFINITY_EX *)&PpmPerfChangedCoreParkingMask,
&PpmPerfNewCoreParkingMask,
&PpmPerfNewUnparkedMask),
(_DWORD)result) )
{
PpmCheckCount = KeCountSetBitsAffinityEx(&PpmPerfNewUnparkedMask);
v2[1] = (unsigned __int16 *)PpmPerfNewUnparkedMask.Bitmap[0];
v3 = 0;
v2[0] = (unsigned __int16 *)&PpmPerfNewUnparkedMask;
while( 1 )
{
result = KeEnumerateNextProcessor(&ProcessorNumber, v2);
if( (_DWORD)result )
break;
KeGetPrcb((unsigned int)ProcessorNumber);
PpmPerfQueueAction(v1, 1);
}
LOBYTE(result) = 0;
}
else
{
LOBYTE(result) = 1;
}
return result;
}Referenced by:
No references.