X-Git-Url: https://git.reactos.org/?p=reactos.git;a=blobdiff_plain;f=reactos%2Fntoskrnl%2Fex%2Fsysinfo.c;h=4177b36347a20829513632c69f3807fd809e070c;hp=c704046a3c45b6e98a1bbdb426a477f3f381c8a9;hb=250d69afc8ac852f48e37da147132ea1f6268532;hpb=e17b565fc0a5bc86532400193d44b1098ee33ff8 diff --git a/reactos/ntoskrnl/ex/sysinfo.c b/reactos/ntoskrnl/ex/sysinfo.c index c704046a3c4..4177b36347a 100644 --- a/reactos/ntoskrnl/ex/sysinfo.c +++ b/reactos/ntoskrnl/ex/sysinfo.c @@ -956,10 +956,11 @@ QSI_DEF(SystemProcessorPerformanceInformation) } CurrentTime.QuadPart = KeQueryInterruptTime(); - Prcb = KeGetCurrentPrcb(); - for (i = 0; i < KeNumberProcessors; i++) { + /* Get the PRCB on this processor */ + Prcb = KiProcessorBlock[i]; + /* Calculate total user and kernel times */ TotalTime = Prcb->IdleThread->KernelTime + Prcb->IdleThread->UserTime; Spi->IdleTime.QuadPart = UInt32x32To64(TotalTime, KeMaximumIncrement); @@ -969,7 +970,6 @@ QSI_DEF(SystemProcessorPerformanceInformation) Spi->InterruptTime.QuadPart = UInt32x32To64(Prcb->InterruptTime, KeMaximumIncrement); Spi->InterruptCount = Prcb->InterruptCount; Spi++; - Prcb = (PKPRCB)((ULONG_PTR)Prcb + PAGE_SIZE); } return STATUS_SUCCESS;