PpmParkReportUnparkedCores
UINT8 __stdcall PpmParkReportUnparkedCores(){
int v1;
_KPRCB *Prcb;
_KAFFINITY_ENUMERATION_CONTEXT Context;
UINT64 ProcIndex;
*(_DWORD *)(&Context.CurrentIndex + 1) = 0;
*(&Context.CurrentIndex + 3) = 0;
LODWORD(ProcIndex) = 0;
if( !PpmIsParkingEnabled
|| !KeSubtractAffinityEx(
&PpmPerfChangedCoreParkingMask.Count,
(INT8 *)&PpmPerfNewCoreParkingMask,
(INT8 *)&PpmPerfNewUnparkedMask) )
{
return 1;
}
*(&PopIrpWorkerControlEvent + 316) = KeCountSetBitsAffinityEx(&PpmPerfNewUnparkedMask.Count);
Context.CurrentMask = PpmPerfNewUnparkedMask.Bitmap[0];
Context.CurrentIndex = 0;
Context.Affinity = &PpmPerfNewUnparkedMask;
while( 1 )
{
KeEnumerateNextProcessor(&ProcIndex, &Context);
if( v1 )
break;
Prcb = KeGetPrcb((unsigned int)ProcIndex);
PpmPerfQueueAction(Prcb, PpmPerfActionReportUnparkedCore);
}
return 0;
}Referenced by:
No references.