diff --git a/ntoskrnl/cc/pin.c b/ntoskrnl/cc/pin.c index 37eca96de1c..4f0e4f5a822 100644 --- a/ntoskrnl/cc/pin.c +++ b/ntoskrnl/cc/pin.c @@ -23,11 +23,13 @@ extern NPAGED_LOOKASIDE_LIST iBcbLookasideList; * - Number of calls to CcMapData that couldn't wait * - Number of calls to CcPinRead that could wait * - Number of calls to CcPinRead that couldn't wait + * - Number of calls to CcPinMappedDataCount */ ULONG CcMapDataWait = 0; ULONG CcMapDataNoWait = 0; ULONG CcPinReadWait = 0; ULONG CcPinReadNoWait = 0; +ULONG CcPinMappedDataCount = 0; /* FUNCTIONS *****************************************************************/ @@ -429,6 +431,8 @@ CcPinMappedData ( iBcb = *Bcb; + ++CcPinMappedDataCount; + Result = CcpPinData(SharedCacheMap, FileOffset, Length, Flags, Bcb, &Buffer); if (Result) { diff --git a/ntoskrnl/ex/sysinfo.c b/ntoskrnl/ex/sysinfo.c index ab8481b328c..09b9a6359c9 100644 --- a/ntoskrnl/ex/sysinfo.c +++ b/ntoskrnl/ex/sysinfo.c @@ -767,7 +767,7 @@ QSI_DEF(SystemPerformanceInformation) Spi->CcMapDataNoWaitMiss = 0; /* FIXME */ Spi->CcMapDataWaitMiss = 0; /* FIXME */ - Spi->CcPinMappedDataCount = 0; /* FIXME */ + Spi->CcPinMappedDataCount = CcPinMappedDataCount; Spi->CcPinReadNoWait = CcPinReadNoWait; Spi->CcPinReadWait = CcPinReadWait; Spi->CcPinReadNoWaitMiss = 0; /* FIXME */ diff --git a/ntoskrnl/include/internal/cc.h b/ntoskrnl/include/internal/cc.h index 16dd1f67f05..8a5fb738385 100644 --- a/ntoskrnl/include/internal/cc.h +++ b/ntoskrnl/include/internal/cc.h @@ -62,6 +62,7 @@ extern ULONG CcMapDataWait; extern ULONG CcMapDataNoWait; extern ULONG CcPinReadWait; extern ULONG CcPinReadNoWait; +extern ULONG CcPinMappedDataCount; extern ULONG CcDataPages; extern ULONG CcDataFlushes;