diff --git a/ntoskrnl/ex/sysinfo.c b/ntoskrnl/ex/sysinfo.c index b43aa2c1f9b..1d8e1c539fe 100644 --- a/ntoskrnl/ex/sysinfo.c +++ b/ntoskrnl/ex/sysinfo.c @@ -695,6 +695,19 @@ QSI_DEF(SystemPerformanceInformation) Spi->IoReadOperationCount = IoReadOperationCount; Spi->IoWriteOperationCount = IoWriteOperationCount; Spi->IoOtherOperationCount = IoOtherOperationCount; + for (i = 0; i < KeNumberProcessors; i ++) + { + Prcb = KiProcessorBlock[i]; + if (Prcb) + { + Spi->IoReadTransferCount.QuadPart += Prcb->IoReadTransferCount.QuadPart; + Spi->IoWriteTransferCount.QuadPart += Prcb->IoWriteTransferCount.QuadPart; + Spi->IoOtherTransferCount.QuadPart += Prcb->IoOtherTransferCount.QuadPart; + Spi->IoReadOperationCount += Prcb->IoReadOperationCount; + Spi->IoWriteOperationCount += Prcb->IoWriteOperationCount; + Spi->IoOtherOperationCount += Prcb->IoOtherOperationCount; + } + } Spi->AvailablePages = (ULONG)MmAvailablePages; /* @@ -805,7 +818,6 @@ QSI_DEF(SystemPerformanceInformation) } } - return STATUS_SUCCESS; }