[PATCH] Fix kernel time to include idle time=0A=
Ray Hinchliffe
ray at pobox.co.uk
Fri Apr 15 09:36:36 CDT 2011
=0A=
---=0A=
dlls/ntdll/nt.c | 25 +++++++++----------------=0A=
include/winternl.h | 5 +++--=0A=
2 files changed, 12 insertions(+), 18 deletions(-)=0A=
mode change 100644 =3D> 100755 dlls/ntdll/nt.c=0A=
mode change 100644 =3D> 100755 include/winternl.h=0A=
=0A=
diff --git a/dlls/ntdll/nt.c b/dlls/ntdll/nt.c=0A=
old mode 100644=0A=
new mode 100755=0A=
index fb89a42..05a980d=0A=
--- a/dlls/ntdll/nt.c=0A=
+++ b/dlls/ntdll/nt.c=0A=
@@ -1311,22 +1311,15 @@ void fill_cpu_info(void)=0A=
}=0A=
=0A=
static void fill_in_sppi(SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION =
*sppi, DWORD64 idle, DWORD64 sys, DWORD64 usr)=0A=
-{=0A=
- DWORD64 steal;=0A=
- sppi->IdleTime.QuadPart =3D idle * 10000000 / sysconf(_SC_CLK_TCK);=0A=
- sppi->KernelTime.QuadPart =3D sys * 10000000 / sysconf(_SC_CLK_TCK);=0A=
- sppi->UserTime.QuadPart =3D usr * 10000000 / sysconf(_SC_CLK_TCK);=0A=
-=0A=
- /* Add 1% from idle time to kernel time, to make .NET happy */=0A=
- steal =3D sppi->IdleTime.QuadPart / 100;=0A=
- sppi->IdleTime.QuadPart -=3D steal;=0A=
- sppi->KernelTime.QuadPart +=3D steal;=0A=
-=0A=
- /* DPC time */=0A=
- sppi->Reserved1[0].QuadPart =3D 0;=0A=
- /* Interrupt time */=0A=
- sppi->Reserved1[1].QuadPart =3D 0;=0A=
- sppi->Reserved2 =3D 0;=0A=
+{
+ DWORD tick_time =3D 10000000 / sysconf(_SC_CLK_TCK);
+ sppi->IdleTime.QuadPart =3D idle * tick_time;=0A=
+ sppi->KernelTime.QuadPart =3D ( idle + sys ) * tick_time; /* =
includes idle time */=0A=
+ sppi->UserTime.QuadPart =3D usr * tick_time;=0A=
+ sppi->DpcTime.QuadPart =3D 0; /* DPC =
time */
+ sppi->IntTime.QuadPart =3D 0; /* =
Interrupt time */
+ sppi->IntCount =3D 0; /* =
Interrupt count */
+ return;=0A=
}=0A=
=0A=
=
/************************************************************************=
******=0A=
diff --git a/include/winternl.h b/include/winternl.h=0A=
old mode 100644=0A=
new mode 100755=0A=
index a1c9f0c..0801a55=0A=
--- a/include/winternl.h=0A=
+++ b/include/winternl.h=0A=
@@ -1241,8 +1241,9 @@ typedef struct =
_SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION {=0A=
LARGE_INTEGER IdleTime;=0A=
LARGE_INTEGER KernelTime;=0A=
LARGE_INTEGER UserTime;=0A=
- LARGE_INTEGER Reserved1[2];=0A=
- ULONG Reserved2;=0A=
+ LARGE_INTEGER DpcTime;
+ LARGE_INTEGER IntTime;
+ ULONG IntCount;
} SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION, =
*PSYSTEM_PROCESSOR_PERFORMANCE_INFORMATION;=0A=
=0A=
/* System Information Class 0x0b */=0A=
-- =0A=
1.7.0.4=0A=
=0A=
------=_NextPart_000_0002_01CBFB53.11918D40
Content-Type: text/plain;
name="0001-Fix-kernel-time-to-include-idle-time.txt"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
filename="0001-Fix-kernel-time-to-include-idle-time.txt"
SIV32X - System Information Viewer V4.20 Beta-00 RUW::ray Built Apr 14 =
2011 at 23:19:27 [1252] Command [Z:\home\ray\siv\siv32x.exe =
-save=3D[wine-perf]=3Dtest.txt] [[wine-perf]] [Z:\home\ray\siv\test.txt]
[wine-perf] [wine]
Initial CPU-0 Idle 1263.9500000 User 294.3600000 Krnl =
1376.2000000 DPC 0.0000000 Int 0.0000000 Int 0
CPU-1 Idle 1356.8000000 User 254.3400000 Krnl =
1426.4600000 DPC 0.0000000 Int 0.0000000 Int 0
1 Sec CPU-0 Idle 0.9700000 User 0.0000000 Krnl =
1.0000000 DPC 0.0000000 Int 0.0000000 Int 0
CPU-1 Idle 0.9700000 User 0.0000000 Krnl =
0.9700000 DPC 0.0000000 Int 0.0000000 Int 0
2 Sec CPU-0 Idle 1.9700000 User 0.0000000 Krnl =
2.0000000 DPC 0.0000000 Int 0.0000000 Int 0
CPU-1 Idle 1.7800000 User 0.0000000 Krnl =
1.7900000 DPC 0.0000000 Int 0.0000000 Int 0
3 Sec CPU-0 Idle 2.9700000 User 0.0000000 Krnl =
3.0000000 DPC 0.0000000 Int 0.0000000 Int 0
CPU-1 Idle 2.9800000 User 0.0000000 Krnl =
2.9900000 DPC 0.0000000 Int 0.0000000 Int 0
4 Sec CPU-0 Idle 3.9700000 User 0.0000000 Krnl =
4.0000000 DPC 0.0000000 Int 0.0000000 Int 0
CPU-1 Idle 3.5800000 User 0.0000000 Krnl =
3.5900000 DPC 0.0000000 Int 0.0000000 Int 0
[=3D=3D=3D=3D=3D=3D=3D=3D] [ Elapsed Time for Computer Information =
0:05 Used 2.85KB of 8.00MB "[wine-perf]" ]
------=_NextPart_000_0002_01CBFB53.11918D40
Content-Type: text/plain;
name="test-from-real-windoes-7-system.txt"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
filename="test-from-real-windoes-7-system.txt"
SIV32X - System Information Viewer V4.20 Beta-00 RED::ray Built Apr 14 =
2011 at 23:19:27 [1252] Command [siv32x.exe =
-save=3D[wine-perf]=3Dtest-from-real-windoes-7-system.txt ] =
[[wine-perf]] [D:\SIV\test-from-real-windoes-7-system.txt]
[wine-perf] [wine]
Initial CPU-0 Idle 3215.4146115 User 61.6047949 Krnl =
3240.3591714 DPC 1.2324079 Int 0.3276021 Int =
1403423
CPU-1 Idle 3291.8863017 User 0.1872012 Krnl =
3301.2619618 DPC 1.4508093 Int 5.6940365 Int =
1407440
CPU-2 Idle 3053.0955710 User 183.1139738 Krnl =
3118.2103884 DPC 0.0000000 Int 0.1404009 Int =
911239
CPU-3 Idle 3283.9926511 User 0.0156001 Krnl =
3301.1839613 DPC 10.8732697 Int 5.3664344 Int =
1416306
CPU-4 Idle 3262.4645131 User 20.8417336 Krnl =
3280.2330270 DPC 0.0624004 Int 0.1404009 Int =
1239500
CPU-5 Idle 3297.3151365 User 0.0468003 Krnl =
3300.9031595 DPC 2.5116161 Int 0.0156001 Int =
1241122
CPU-6 Idle 3227.1458867 User 51.9327329 Krnl =
3248.8924261 DPC 0.2028013 Int 2.6208168 Int =
1385089
CPU-7 Idle 3295.9579278 User 0.0156001 Krnl =
3300.6847581 DPC 1.5132097 Int 0.3120020 Int =
1247934
CPU-8 Idle 3198.3637022 User 63.7420086 Krnl =
3236.8335488 DPC 0.2964019 Int 0.1404009 Int =
1181095
CPU-9 Idle 3298.5943447 User 0.0936006 Krnl =
3300.3415559 DPC 0.0000000 Int 0.0780005 Int =
1314211
CPU-10 Idle 3233.7291289 User 42.4946724 Krnl =
3257.8156833 DPC 0.0312002 Int 0.0780005 Int =
1239607
CPU-11 Idle 3279.7962242 User 0.0780005 Krnl =
3300.1075544 DPC 16.3801050 Int 1.0764069 Int =
1628404
1 Sec CPU-0 Idle 1.0140065 User 0.0000000 Krnl =
1.0140065 DPC 0.0000000 Int 0.0000000 Int =
87
CPU-1 Idle 0.9672062 User 0.0000000 Krnl =
0.9672062 DPC 0.0000000 Int 0.0000000 Int =
28
CPU-2 Idle 1.0140065 User 0.0000000 Krnl =
1.0140065 DPC 0.0000000 Int 0.0000000 Int =
42
CPU-3 Idle 1.0140065 User 0.0000000 Krnl =
1.0140065 DPC 0.0000000 Int 0.0000000 Int =
52
CPU-4 Idle 0.9984064 User 0.0000000 Krnl =
0.9984064 DPC 0.0000000 Int 0.0000000 Int =
39
CPU-5 Idle 0.9984064 User 0.0000000 Krnl =
0.9984064 DPC 0.0000000 Int 0.0000000 Int =
23
CPU-6 Idle 0.9828063 User 0.0000000 Krnl =
0.9828063 DPC 0.0000000 Int 0.0000000 Int =
41
CPU-7 Idle 0.8268053 User 0.0000000 Krnl =
0.8268053 DPC 0.0000000 Int 0.0000000 Int =
24
CPU-8 Idle 0.9360060 User 0.0000000 Krnl =
0.9360060 DPC 0.0000000 Int 0.0000000 Int =
43
CPU-9 Idle 0.9360060 User 0.0000000 Krnl =
0.9360060 DPC 0.0000000 Int 0.0000000 Int =
37
CPU-10 Idle 0.9984064 User 0.0000000 Krnl =
0.9984064 DPC 0.0000000 Int 0.0000000 Int =
52
CPU-11 Idle 0.9984064 User 0.0000000 Krnl =
0.9984064 DPC 0.0000000 Int 0.0000000 Int =
103
2 Sec CPU-0 Idle 1.9968128 User 0.0000000 Krnl =
2.0280130 DPC 0.0156001 Int 0.0000000 Int =
333
CPU-1 Idle 1.9812127 User 0.0000000 Krnl =
1.9812127 DPC 0.0000000 Int 0.0000000 Int =
237
CPU-2 Idle 1.9812127 User 0.0156001 Krnl =
2.0124129 DPC 0.0000000 Int 0.0000000 Int =
269
CPU-3 Idle 2.0124129 User 0.0000000 Krnl =
2.0280130 DPC 0.0156001 Int 0.0000000 Int =
318
CPU-4 Idle 1.9656126 User 0.0156001 Krnl =
2.0124129 DPC 0.0000000 Int 0.0000000 Int =
235
CPU-5 Idle 2.0280130 User 0.0000000 Krnl =
2.0280130 DPC 0.0000000 Int 0.0000000 Int =
234
CPU-6 Idle 2.0124129 User 0.0000000 Krnl =
2.0280130 DPC 0.0000000 Int 0.0000000 Int =
262
CPU-7 Idle 2.0280130 User 0.0000000 Krnl =
2.0280130 DPC 0.0000000 Int 0.0000000 Int =
238
CPU-8 Idle 1.9812127 User 0.0000000 Krnl =
2.0280130 DPC 0.0156001 Int 0.0000000 Int =
296
CPU-9 Idle 1.8720120 User 0.0000000 Krnl =
1.8720120 DPC 0.0000000 Int 0.0000000 Int =
311
CPU-10 Idle 2.0280130 User 0.0000000 Krnl =
2.0280130 DPC 0.0000000 Int 0.0000000 Int =
293
CPU-11 Idle 1.9656126 User 0.0156001 Krnl =
2.0124129 DPC 0.0000000 Int 0.0000000 Int =
472
3 Sec CPU-0 Idle 3.0108193 User 0.0000000 Krnl =
3.0420195 DPC 0.0156001 Int 0.0000000 Int =
423
CPU-1 Idle 3.0264194 User 0.0000000 Krnl =
3.0264194 DPC 0.0000000 Int 0.0000000 Int =
263
CPU-2 Idle 2.9952192 User 0.0156001 Krnl =
3.0264194 DPC 0.0000000 Int 0.0000000 Int =
310
CPU-3 Idle 3.0264194 User 0.0000000 Krnl =
3.0420195 DPC 0.0156001 Int 0.0000000 Int =
390
CPU-4 Idle 2.9796191 User 0.0156001 Krnl =
3.0264194 DPC 0.0000000 Int 0.0000000 Int =
259
CPU-5 Idle 3.0420195 User 0.0000000 Krnl =
3.0420195 DPC 0.0000000 Int 0.0000000 Int =
261
CPU-6 Idle 3.0264194 User 0.0000000 Krnl =
3.0420195 DPC 0.0000000 Int 0.0000000 Int =
296
CPU-7 Idle 3.0420195 User 0.0000000 Krnl =
3.0420195 DPC 0.0000000 Int 0.0000000 Int =
267
CPU-8 Idle 2.9952192 User 0.0000000 Krnl =
3.0420195 DPC 0.0156001 Int 0.0000000 Int =
341
CPU-9 Idle 3.0420195 User 0.0000000 Krnl =
3.0420195 DPC 0.0000000 Int 0.0000000 Int =
370
CPU-10 Idle 3.0420195 User 0.0000000 Krnl =
3.0420195 DPC 0.0000000 Int 0.0000000 Int =
346
CPU-11 Idle 2.9796191 User 0.0156001 Krnl =
3.0264194 DPC 0.0000000 Int 0.0000000 Int =
612
4 Sec CPU-0 Idle 4.0248258 User 0.0000000 Krnl =
4.0560260 DPC 0.0156001 Int 0.0000000 Int =
534
CPU-1 Idle 4.0248258 User 0.0000000 Krnl =
4.0248258 DPC 0.0000000 Int 0.0000000 Int =
341
CPU-2 Idle 4.0092257 User 0.0156001 Krnl =
4.0404259 DPC 0.0000000 Int 0.0000000 Int =
368
CPU-3 Idle 4.0092257 User 0.0000000 Krnl =
4.0248258 DPC 0.0156001 Int 0.0000000 Int =
481
CPU-4 Idle 3.9936256 User 0.0156001 Krnl =
4.0404259 DPC 0.0000000 Int 0.0000000 Int =
318
CPU-5 Idle 4.0248258 User 0.0000000 Krnl =
4.0248258 DPC 0.0000000 Int 0.0000000 Int =
308
CPU-6 Idle 4.0404259 User 0.0000000 Krnl =
4.0560260 DPC 0.0000000 Int 0.0000000 Int =
352
CPU-7 Idle 4.0248258 User 0.0000000 Krnl =
4.0248258 DPC 0.0000000 Int 0.0000000 Int =
312
CPU-8 Idle 3.9936256 User 0.0000000 Krnl =
4.0404259 DPC 0.0156001 Int 0.0000000 Int =
407
CPU-9 Idle 4.0248258 User 0.0000000 Krnl =
4.0248258 DPC 0.0000000 Int 0.0000000 Int =
428
CPU-10 Idle 4.0404259 User 0.0000000 Krnl =
4.0404259 DPC 0.0000000 Int 0.0000000 Int =
420
CPU-11 Idle 3.9780255 User 0.0156001 Krnl =
4.0248258 DPC 0.0000000 Int 0.0000000 Int =
726
[=3D=3D=3D=3D=3D=3D=3D=3D] [ Elapsed Time for Computer Information =
0:05 Used 17.41KB of 8.00MB "[wine-perf]" ]
[=3D=3D=3D=3D=3D=3D=3D=3D] [ Elapsed Time for Network Information =
0:00 Used 17.41KB of 8.00MB ]
------=_NextPart_000_0002_01CBFB53.11918D40--
More information about the wine-patches
mailing list