MiReduceWs

VOID __stdcall MiReduceWs(_MMSUPPORT_INSTANCE *Vm, UINT8 WsIrql, UINT64 DesiredSize){
  unsigned __int64 WorkingSetSize; 
  unsigned int i; 
  UINT64 v8; 
  unsigned __int64 v9; 
  UINT64 TrimFlags; 

  WorkingSetSize = Vm->WorkingSetSize;
  for( i = 7; WorkingSetSize > DesiredSize; --i )
  {
    v8 = WorkingSetSize - DesiredSize;
    if( i )
    {
      v9 = Vm->AgeDistribution[i];
      if( v9 > v8 )
        v9 = v8;
      v8 = v9;
    }
    if( v8 )
    {
      LODWORD(TrimFlags) = 80;
      MiTrimWorkingSet(Vm, v8, WsIrql, i, TrimFlags);
      if( !i )
        break;
    }
    WorkingSetSize = Vm->WorkingSetSize;
  }
  MiSimpleAging(Vm);
}

Referenced by:

MiPreUnlockWorkingSetShared