From nobody@FreeBSD.org  Fri Nov 19 12:35:17 2010
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id D5EA3106566B
	for <freebsd-gnats-submit@FreeBSD.org>; Fri, 19 Nov 2010 12:35:17 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21])
	by mx1.freebsd.org (Postfix) with ESMTP id AA2FC8FC15
	for <freebsd-gnats-submit@FreeBSD.org>; Fri, 19 Nov 2010 12:35:17 +0000 (UTC)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.14.3/8.14.3) with ESMTP id oAJCZHE2062121
	for <freebsd-gnats-submit@FreeBSD.org>; Fri, 19 Nov 2010 12:35:17 GMT
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.14.3/8.14.3/Submit) id oAJCZHVW062120;
	Fri, 19 Nov 2010 12:35:17 GMT
	(envelope-from nobody)
Message-Id: <201011191235.oAJCZHVW062120@www.freebsd.org>
Date: Fri, 19 Nov 2010 12:35:17 GMT
From: KOIE Hidetaka <koie@suri.co.jp>
To: freebsd-gnats-submit@FreeBSD.org
Subject: wrong user time is reported when CPU frequency throttled.
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         152405
>Category:       kern
>Synopsis:       wrong user time is reported when CPU frequency throttled.
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Nov 19 12:40:06 UTC 2010
>Closed-Date:    
>Last-Modified:  Sat Dec 11 11:00:46 UTC 2010
>Originator:     KOIE Hidetaka
>Release:        9.0-CURRENT
>Organization:
surigiken
>Environment:
FreeBSD guriandgura 9.0-CURRENT FreeBSD 9.0-CURRENT #0: Wed Nov 17 15:11:51 JST 2010     root@guriandgura:/usr/obj/museum/freebsd/sys/GURIANDGURA  amd64

SVN revision is 215415.
>Description:
when CPU frequency is throttled down, time command reports too low CPU usage like this:
4.849u 0.000s 0:09.13 53.0%     9+5026k 0+0io 0pf+0w
100% is expected, because the process is extreamly CPU-intensive.

wall clock is precise.

systat -vm 1 shows collect user time (25% in 4-core system).

>How-To-Repeat:
koie@guriandgura% cat loop.c
int
main()
{
    unsigned long x = 0xffffffffUL;
    printf("%lx\n", x);
    while (--x > 0)
        ;
    return 0;
}
koie@guriandgura% gcc46 -O loop.c -o loop
loop.c: In function 'main':
loop.c:5:5: warning: incompatible implicit declaration of built-in function 'printf' [enabled by default]

>Fix:
I don't know.

>Release-Note:
>Audit-Trail:

From: Bruce Evans <brde@optusnet.com.au>
To: KOIE Hidetaka <koie@suri.co.jp>
Cc: freebsd-gnats-submit@freebsd.org, freebsd-amd64@freebsd.org
Subject: Re: amd64/152405: wrong user time is reported when CPU frequency
 throttled.
Date: Sat, 20 Nov 2010 18:08:37 +1100 (EST)

 On Fri, 19 Nov 2010, KOIE Hidetaka wrote:
 
 >> Description:
 > when CPU frequency is throttled down, time command reports too low CPU usage like this:
 > 4.849u 0.000s 0:09.13 53.0%     9+5026k 0+0io 0pf+0w
 > 100% is expected, because the process is extreamly CPU-intensive.
 >
 > wall clock is precise.
 >
 > systat -vm 1 shows collect user time (25% in 4-core system).
 
 This is caused by broken scaling from "cputicks" (normally TSC cycles)
 to time (user+sys runtime).  Throttling is supposed to change the
 scaling, but at best the current scale factor is used for all cputicks,
 so the final runtime is wrong unless all of the accumulated ticks occurred
 while the current scale factor is correct.  Enforcement of monotonicity
 of the user and sys times individually avoids certain problems but makes
 the results even less related to actual times.
 
 The runtime should be the integral of the cputick count times the cputick
 frequency.  Integration is already used for other statistics so where and
 how to do it (in statclock() for curthread) is obvious in theory.  It
 should also be done whenever the cputick frequency is throttled or otherwise
 changed (e.g., by recalibration), or, as an optimization, not always done
 in statclock() but delayed until the frequency changes, or just delayed for
 a few seconds or minutes when the frequency doesn't change.  There are still
 problems with high frequency transient changes, undetected changes, and
 miscalibrated changes.
 
 P-state invariance for TSCs on newer x86's should limit this problem to older
 x86's and non-x86's.  IIRC, there is a sysctl to tell you if you have a
 P-state invariant TSC, but there afre no sysctls for telling what the
 cputicker is doing.  Timercounters are not related to any of this, except
 the TSC frequency is given by a timecounter sysctl, so you can see if if
 the system's idea of the TSC frequency tracks throttling correctly and then
 guess that the cputicker freqency is the TSC frequency.
 
 Bruce

From: Andriy Gapon <avg@freebsd.org>
To: bug-followup@freebsd.org, koie@suri.co.jp
Cc:  
Subject: Re: amd64/152405: wrong user time is reported when CPU frequency
 throttled.
Date: Tue, 23 Nov 2010 16:44:35 +0200

 Could you please also provide output of sysctl kern.timecounter and your boot
 log/dmesg?
 Thank you.
 
 -- 
 Andriy Gapon
 
 -- 
 Andriy Gapon

From: KOIE Hidetaka (=?iso-2022-jp?B?GyRCOHE5PjFRTjQhdz90TX01OzgmGyhC?=)
 <koie@suri.co.jp>
To: avg@freebsd.org
Cc: bug-followup@freebsd.org
Subject: Re: amd64/152405: wrong user time is reported when CPU frequency
 throttled.
Date: Wed, 24 Nov 2010 00:15:02 +0900 (JST)

 ----Next_Part(Wed_Nov_24_00_15_02_2010_974)--
 Content-Type: Text/Plain; charset=us-ascii
 Content-Transfer-Encoding: 7bit
 
   Message-Id: <4CEBD353.7060105@freebsd.org>
   Date:       Tue, 23 Nov 2010 16:44:35 +0200
   From:       Andriy Gapon <avg@freebsd.org>
   Subject:    Re: amd64/152405: wrong user time is reported when CPU f..
 
   | Could you please also provide output of sysctl kern.timecounter and your boot
   | log/dmesg?
 
 I send sysctl kern.timecounter and /var/run/dmesg.boot.
 
 --
 KOIE Hidetaka
 
 ----Next_Part(Wed_Nov_24_00_15_02_2010_974)--
 Content-Type: Text/Plain; charset=us-ascii
 Content-Transfer-Encoding: base64
 Content-Disposition: inline; filename="kern.timecounter.txt"
 
 a2Vybi50aW1lY291bnRlci50aWNrOiAxDQprZXJuLnRpbWVjb3VudGVyLmNob2ljZTogVFNDKC0x
 MDApIEhQRVQoOTAwKSBpODI1NCgwKSBBQ1BJLWZhc3QoMTAwMCkgZHVtbXkoLTEwMDAwMDApDQpr
 ZXJuLnRpbWVjb3VudGVyLmhhcmR3YXJlOiBBQ1BJLWZhc3QNCmtlcm4udGltZWNvdW50ZXIuc3Rl
 cHdhcm5pbmdzOiAwDQprZXJuLnRpbWVjb3VudGVyLnRjLkFDUEktZmFzdC5tYXNrOiAxNjc3NzIx
 NQ0Ka2Vybi50aW1lY291bnRlci50Yy5BQ1BJLWZhc3QuY291bnRlcjogNTM0MTM1Mw0Ka2Vybi50
 aW1lY291bnRlci50Yy5BQ1BJLWZhc3QuZnJlcXVlbmN5OiAzNTc5NTQ1DQprZXJuLnRpbWVjb3Vu
 dGVyLnRjLkFDUEktZmFzdC5xdWFsaXR5OiAxMDAwDQprZXJuLnRpbWVjb3VudGVyLnRjLmk4MjU0
 Lm1hc2s6IDY1NTM1DQprZXJuLnRpbWVjb3VudGVyLnRjLmk4MjU0LmNvdW50ZXI6IDE4MjY0DQpr
 ZXJuLnRpbWVjb3VudGVyLnRjLmk4MjU0LmZyZXF1ZW5jeTogMTE5MzE4Mg0Ka2Vybi50aW1lY291
 bnRlci50Yy5pODI1NC5xdWFsaXR5OiAwDQprZXJuLnRpbWVjb3VudGVyLnRjLkhQRVQubWFzazog
 NDI5NDk2NzI5NQ0Ka2Vybi50aW1lY291bnRlci50Yy5IUEVULmNvdW50ZXI6IDEwNTIwNDc2NjcN
 Cmtlcm4udGltZWNvdW50ZXIudGMuSFBFVC5mcmVxdWVuY3k6IDI1MDAwMDAwDQprZXJuLnRpbWVj
 b3VudGVyLnRjLkhQRVQucXVhbGl0eTogOTAwDQprZXJuLnRpbWVjb3VudGVyLnRjLlRTQy5tYXNr
 OiA0Mjk0OTY3Mjk1DQprZXJuLnRpbWVjb3VudGVyLnRjLlRTQy5jb3VudGVyOiAyODYyMTQ2NTAw
 DQprZXJuLnRpbWVjb3VudGVyLnRjLlRTQy5mcmVxdWVuY3k6IDEwMDAwMDAwMDANCmtlcm4udGlt
 ZWNvdW50ZXIudGMuVFNDLnF1YWxpdHk6IC0xMDANCmtlcm4udGltZWNvdW50ZXIuc21wX3RzYzog
 MA0Ka2Vybi50aW1lY291bnRlci5pbnZhcmlhbnRfdHNjOiAwDQo=
 
 ----Next_Part(Wed_Nov_24_00_15_02_2010_974)--
 Content-Type: Text/Plain; charset=us-ascii
 Content-Transfer-Encoding: base64
 Content-Disposition: inline; filename="dmesg.boot"
 
 Q29weXJpZ2h0IChjKSAxOTkyLTIwMTAgVGhlIEZyZWVCU0QgUHJvamVjdC4NCkNvcHlyaWdodCAo
 YykgMTk3OSwgMTk4MCwgMTk4MywgMTk4NiwgMTk4OCwgMTk4OSwgMTk5MSwgMTk5MiwgMTk5Mywg
 MTk5NA0KCVRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuIEFsbCBy
 aWdodHMgcmVzZXJ2ZWQuDQpGcmVlQlNEIGlzIGEgcmVnaXN0ZXJlZCB0cmFkZW1hcmsgb2YgVGhl
 IEZyZWVCU0QgRm91bmRhdGlvbi4NCkZyZWVCU0QgOS4wLUNVUlJFTlQgIzA6IFdlZCBOb3YgMTcg
 MTU6MTE6NTEgSlNUIDIwMTANCiAgICByb290QGd1cmlhbmRndXJhOi91c3Ivb2JqL211c2V1bS9m
 cmVlYnNkL3N5cy9HVVJJQU5ER1VSQSBhbWQ2NA0KQ1BVOiBEdWFsLUNvcmUgQU1EIE9wdGVyb24o
 dG0pIFByb2Nlc3NvciAyMjEwICgxODAwLjExLU1IeiBLOC1jbGFzcyBDUFUpDQogIE9yaWdpbiA9
 ICJBdXRoZW50aWNBTUQiICBJZCA9IDB4NDBmMTIgIEZhbWlseSA9IGYgIE1vZGVsID0gNDEgIFN0
 ZXBwaW5nID0gMg0KICBGZWF0dXJlcz0weDE3OGJmYmZmPEZQVSxWTUUsREUsUFNFLFRTQyxNU1Is
 UEFFLE1DRSxDWDgsQVBJQyxTRVAsTVRSUixQR0UsTUNBLENNT1YsUEFULFBTRTM2LENMRkxVU0gs
 TU1YLEZYU1IsU1NFLFNTRTIsSFRUPg0KICBGZWF0dXJlczI9MHgyMDAxPFNTRTMsQ1gxNj4NCiAg
 QU1EIEZlYXR1cmVzPTB4ZWE1MDA4MDA8U1lTQ0FMTCxOWCxNTVgrLEZGWFNSLFJEVFNDUCxMTSwz
 RE5vdyErLDNETm93IT4NCiAgQU1EIEZlYXR1cmVzMj0weDFmPExBSEYsQ01QLFNWTSxFeHRBUElD
 LENSOD4NCnJlYWwgbWVtb3J5ICA9IDExODExMTYwMDY0ICgxMTI2NCBNQikNCmF2YWlsIG1lbW9y
 eSA9IDExMzU0NTYyNTYwICgxMDgyOCBNQikNCkV2ZW50IHRpbWVyICJMQVBJQyIgcXVhbGl0eSA0
 MDANCkFDUEkgQVBJQyBUYWJsZTogPEEgTSBJICBPRU1BUElDID4NCkZyZWVCU0QvU01QOiBNdWx0
 aXByb2Nlc3NvciBTeXN0ZW0gRGV0ZWN0ZWQ6IDQgQ1BVcw0KRnJlZUJTRC9TTVA6IDIgcGFja2Fn
 ZShzKSB4IDIgY29yZShzKQ0KIGNwdTAgKEJTUCk6IEFQSUMgSUQ6ICAwDQogY3B1MSAoQVApOiBB
 UElDIElEOiAgMQ0KIGNwdTIgKEFQKTogQVBJQyBJRDogIDINCiBjcHUzIChBUCk6IEFQSUMgSUQ6
 ICAzDQppb2FwaWMwIDxWZXJzaW9uIDEuMT4gaXJxcyAwLTIzIG9uIG1vdGhlcmJvYXJkDQprYmQx
 IGF0IGtiZG11eDANCmNyeXB0b3NvZnQwOiA8c29mdHdhcmUgY3J5cHRvPiBvbiBtb3RoZXJib2Fy
 ZA0KYWNwaTA6IDxBIE0gSSBPRU1YU0RUPiBvbiBtb3RoZXJib2FyZA0KYWNwaTA6IFBvd2VyIEJ1
 dHRvbiAoZml4ZWQpDQphY3BpMDogcmVzZXJ2YXRpb24gb2YgZmVjMDAwMDAsIDEwMDAgKDMpIGZh
 aWxlZA0KYWNwaTA6IHJlc2VydmF0aW9uIG9mIGZlZTAwMDAwLCAxMDAwICgzKSBmYWlsZWQNCmFj
 cGkwOiByZXNlcnZhdGlvbiBvZiAwLCBhMDAwMCAoMykgZmFpbGVkDQphY3BpMDogcmVzZXJ2YXRp
 b24gb2YgMTAwMDAwLCBjN2YwMDAwMCAoMykgZmFpbGVkDQpUaW1lY291bnRlciAiQUNQSS1mYXN0
 IiBmcmVxdWVuY3kgMzU3OTU0NSBIeiBxdWFsaXR5IDEwMDANCmFjcGlfdGltZXIwOiA8MjQtYml0
 IHRpbWVyIGF0IDMuNTc5NTQ1TUh6PiBwb3J0IDB4MjAwOC0weDIwMGIgb24gYWNwaTANCmNwdTA6
 IDxBQ1BJIENQVT4gb24gYWNwaTANCmNwdTE6IDxBQ1BJIENQVT4gb24gYWNwaTANCmNwdTI6IDxB
 Q1BJIENQVT4gb24gYWNwaTANCmNwdTM6IDxBQ1BJIENQVT4gb24gYWNwaTANCnBjaWIwOiA8QUNQ
 SSBIb3N0LVBDSSBicmlkZ2U+IHBvcnQgMHhjZjgtMHhjZmYgb24gYWNwaTANCnBjaTA6IDxBQ1BJ
 IFBDSSBidXM+IG9uIHBjaWIwDQpwY2kwOiA8bWVtb3J5LCBSQU0+IGF0IGRldmljZSAwLjAgKG5v
 IGRyaXZlciBhdHRhY2hlZCkNCmlzYWIwOiA8UENJLUlTQSBicmlkZ2U+IGF0IGRldmljZSAxLjAg
 b24gcGNpMA0KaXNhMDogPElTQSBidXM+IG9uIGlzYWIwDQpwY2kwOiA8c2VyaWFsIGJ1cywgU01C
 dXM+IGF0IGRldmljZSAxLjEgKG5vIGRyaXZlciBhdHRhY2hlZCkNCm9oY2kwOiA8blZpZGlhIG5G
 b3JjZSBNQ1A1NSBVU0IgQ29udHJvbGxlcj4gbWVtIDB4ZjllZmIwMDAtMHhmOWVmYmZmZiBpcnEg
 MjEgYXQgZGV2aWNlIDIuMCBvbiBwY2kwDQp1c2J1czA6IDxuVmlkaWEgbkZvcmNlIE1DUDU1IFVT
 QiBDb250cm9sbGVyPiBvbiBvaGNpMA0KZWhjaTA6IDxOVklESUEgbkZvcmNlIE1DUDU1IFVTQiAy
 LjAgY29udHJvbGxlcj4gbWVtIDB4ZjllZmFjMDAtMHhmOWVmYWNmZiBpcnEgMjIgYXQgZGV2aWNl
 IDIuMSBvbiBwY2kwDQp1c2J1czE6IEVIQ0kgdmVyc2lvbiAxLjANCnVzYnVzMTogPE5WSURJQSBu
 Rm9yY2UgTUNQNTUgVVNCIDIuMCBjb250cm9sbGVyPiBvbiBlaGNpMA0KYXRhcGNpMDogPG5WaWRp
 YSBuRm9yY2UgTUNQNTUgVURNQTEzMyBjb250cm9sbGVyPiBwb3J0IDB4MWYwLTB4MWY3LDB4M2Y2
 LDB4MTcwLTB4MTc3LDB4Mzc2LDB4ZmZhMC0weGZmYWYgYXQgZGV2aWNlIDQuMCBvbiBwY2kwDQph
 dGEwOiA8QVRBIGNoYW5uZWwgMD4gb24gYXRhcGNpMA0KYXRhMTogPEFUQSBjaGFubmVsIDE+IG9u
 IGF0YXBjaTANCmF0YXBjaTE6IDxuVmlkaWEgbkZvcmNlIE1DUDU1IFNBVEEzMDAgY29udHJvbGxl
 cj4gcG9ydCAweGM0ODAtMHhjNDg3LDB4YzQwMC0weGM0MDMsMHhjMDgwLTB4YzA4NywweGMwMDAt
 MHhjMDAzLDB4YmMwMC0weGJjMGYgbWVtIDB4ZjllZjkwMDAtMHhmOWVmOWZmZiBpcnEgMjMgYXQg
 ZGV2aWNlIDUuMCBvbiBwY2kwDQphdGEyOiA8QVRBIGNoYW5uZWwgMD4gb24gYXRhcGNpMQ0KYXRh
 MzogPEFUQSBjaGFubmVsIDE+IG9uIGF0YXBjaTENCmF0YXBjaTI6IDxuVmlkaWEgbkZvcmNlIE1D
 UDU1IFNBVEEzMDAgY29udHJvbGxlcj4gcG9ydCAweGI4ODAtMHhiODg3LDB4YjgwMC0weGI4MDMs
 MHhiNDgwLTB4YjQ4NywweGI0MDAtMHhiNDAzLDB4YjA4MC0weGIwOGYgbWVtIDB4ZjllZjgwMDAt
 MHhmOWVmOGZmZiBpcnEgMjAgYXQgZGV2aWNlIDUuMSBvbiBwY2kwDQphdGE0OiA8QVRBIGNoYW5u
 ZWwgMD4gb24gYXRhcGNpMg0KYXRhNTogPEFUQSBjaGFubmVsIDE+IG9uIGF0YXBjaTINCmF0YXBj
 aTM6IDxuVmlkaWEgbkZvcmNlIE1DUDU1IFNBVEEzMDAgY29udHJvbGxlcj4gcG9ydCAweGIwMDAt
 MHhiMDA3LDB4YWMwMC0weGFjMDMsMHhhODgwLTB4YTg4NywweGE4MDAtMHhhODAzLDB4YTQ4MC0w
 eGE0OGYgbWVtIDB4ZjllZjcwMDAtMHhmOWVmN2ZmZiBpcnEgMjEgYXQgZGV2aWNlIDUuMiBvbiBw
 Y2kwDQphdGE2OiA8QVRBIGNoYW5uZWwgMD4gb24gYXRhcGNpMw0KYXRhNzogPEFUQSBjaGFubmVs
 IDE+IG9uIGF0YXBjaTMNCnBjaWIxOiA8QUNQSSBQQ0ktUENJIGJyaWRnZT4gYXQgZGV2aWNlIDYu
 MCBvbiBwY2kwDQpwY2kxOiA8QUNQSSBQQ0kgYnVzPiBvbiBwY2liMQ0KZndvaGNpMDogPFZJQSBG
 aXJlIElJIChWVDYzMDYpPiBwb3J0IDB4ZGMwMC0weGRjN2YgbWVtIDB4ZjlmZmY4MDAtMHhmOWZm
 ZmZmZiBpcnEgMTYgYXQgZGV2aWNlIDUuMCBvbiBwY2kxDQpmd29oY2kwOiBPSENJIHZlcnNpb24g
 MS4xMCAoUk9NPTEpDQpmd29oY2kwOiBOby4gb2YgSXNvY2hyb25vdXMgY2hhbm5lbHMgaXMgNC4N
 CmZ3b2hjaTA6IEVVSTY0IDAwOmUwOjgxOjAwOjAwOjI3OjZhOmJmDQpmd29oY2kwOiBQaHkgMTM5
 NGEgYXZhaWxhYmxlIFM0MDAsIDIgcG9ydHMuDQpmd29oY2kwOiBMaW5rIFM0MDAsIG1heF9yZWMg
 MjA0OCBieXRlcy4NCmZpcmV3aXJlMDogPElFRUUxMzk0KEZpcmVXaXJlKSBidXM+IG9uIGZ3b2hj
 aTANCmRjb25zX2Nyb20wOiA8ZGNvbnMgY29uZmlndXJhdGlvbiBST00+IG9uIGZpcmV3aXJlMA0K
 ZGNvbnNfY3JvbTA6IGJ1c19hZGRyIDB4YzdmYWMwMDANCmZ3ZTA6IDxFdGhlcm5ldCBvdmVyIEZp
 cmVXaXJlPiBvbiBmaXJld2lyZTANCmlmX2Z3ZTA6IEZha2UgRXRoZXJuZXQgYWRkcmVzczogMDI6
 ZTA6ODE6Mjc6NmE6YmYNCmZ3ZTA6IEV0aGVybmV0IGFkZHJlc3M6IDAyOmUwOjgxOjI3OjZhOmJm
 DQpmd2lwMDogPElQIG92ZXIgRmlyZVdpcmU+IG9uIGZpcmV3aXJlMA0KZndpcDA6IEZpcmV3aXJl
 IGFkZHJlc3M6IDAwOmUwOjgxOjAwOjAwOjI3OjZhOmJmIEAgMHhmZmZlMDAwMDAwMDAsIFM0MDAs
 IG1heHJlYyAyMDQ4DQpzYnAwOiA8U0JQLTIvU0NTSSBvdmVyIEZpcmVXaXJlPiBvbiBmaXJld2ly
 ZTANCmZ3b2hjaTA6IEluaXRpYXRlIGJ1cyByZXNldA0KZndvaGNpMDogZndvaGNpX2ludHJfY29y
 ZTogQlVTIHJlc2V0DQpmd29oY2kwOiBmd29oY2lfaW50cl9jb3JlOiBub2RlX2lkPTB4MDAwMDAw
 MDAsIFNlbGZJRCBDb3VudD0xLCBDWUNMRU1BU1RFUiBtb2RlDQphdGFwY2k0OiA8U2lJIDY4MCBV
 RE1BMTMzIGNvbnRyb2xsZXI+IHBvcnQgMHhkODgwLTB4ZDg4NywweGQ4MDAtMHhkODAzLDB4ZDQ4
 MC0weGQ0ODcsMHhkNDAwLTB4ZDQwMywweGQwODAtMHhkMDhmIG1lbSAweGY5ZmZmNDAwLTB4Zjlm
 ZmY0ZmYgaXJxIDE2IGF0IGRldmljZSA3LjAgb24gcGNpMQ0KYXRhODogPEFUQSBjaGFubmVsIDA+
 IG9uIGF0YXBjaTQNCmF0YTk6IDxBVEEgY2hhbm5lbCAxPiBvbiBhdGFwY2k0DQpoZGFjMDogPE5W
 aWRpYSBNQ1A1NSBIaWdoIERlZmluaXRpb24gQXVkaW8gQ29udHJvbGxlcj4gbWVtIDB4ZjllZjAw
 MDAtMHhmOWVmM2ZmZiBpcnEgMjIgYXQgZGV2aWNlIDYuMSBvbiBwY2kwDQpoZGFjMDogSERBIERy
 aXZlciBSZXZpc2lvbjogMjAxMDAyMjZfMDE0Mg0KbmZlMDogPE5WSURJQSBuRm9yY2UgTUNQNTUg
 TmV0d29ya2luZyBBZGFwdGVyPiBwb3J0IDB4YTQwMC0weGE0MDcgbWVtIDB4ZjllZjYwMDAtMHhm
 OWVmNmZmZiwweGY5ZWZhODAwLTB4ZjllZmE4ZmYsMHhmOWVmYTQwMC0weGY5ZWZhNDBmIGlycSAy
 MyBhdCBkZXZpY2UgOC4wIG9uIHBjaTANCm1paWJ1czA6IDxNSUkgYnVzPiBvbiBuZmUwDQplMTAw
 MHBoeTA6IDxNYXJ2ZWxsIDg4RTExMTYgR2lnYWJpdCBQSFk+IFBIWSAyIG9uIG1paWJ1czANCmUx
 MDAwcGh5MDogIDEwYmFzZVQsIDEwYmFzZVQtRkRYLCAxMDBiYXNlVFgsIDEwMGJhc2VUWC1GRFgs
 IDEwMDBiYXNlVCwgMTAwMGJhc2VULW1hc3RlciwgMTAwMGJhc2VULUZEWCwgMTAwMGJhc2VULUZE
 WC1tYXN0ZXIsIGF1dG8sIGF1dG8tZmxvdw0KbmZlMDogRXRoZXJuZXQgYWRkcmVzczogMDA6ZTA6
 ODE6NzQ6ZWY6ZTQNCm5mZTE6IDxOVklESUEgbkZvcmNlIE1DUDU1IE5ldHdvcmtpbmcgQWRhcHRl
 cj4gcG9ydCAweGEwODAtMHhhMDg3IG1lbSAweGY5ZWY1MDAwLTB4ZjllZjVmZmYsMHhmOWVmYTAw
 MC0weGY5ZWZhMGZmLDB4ZjllZjRjMDAtMHhmOWVmNGMwZiBpcnEgMjAgYXQgZGV2aWNlIDkuMCBv
 biBwY2kwDQptaWlidXMxOiA8TUlJIGJ1cz4gb24gbmZlMQ0KZTEwMDBwaHkxOiA8TWFydmVsbCA4
 OEUxMTE2IEdpZ2FiaXQgUEhZPiBQSFkgMyBvbiBtaWlidXMxDQplMTAwMHBoeTE6ICAxMGJhc2VU
 LCAxMGJhc2VULUZEWCwgMTAwYmFzZVRYLCAxMDBiYXNlVFgtRkRYLCAxMDAwYmFzZVQsIDEwMDBi
 YXNlVC1tYXN0ZXIsIDEwMDBiYXNlVC1GRFgsIDEwMDBiYXNlVC1GRFgtbWFzdGVyLCBhdXRvLCBh
 dXRvLWZsb3cNCm5mZTE6IEV0aGVybmV0IGFkZHJlc3M6IDAwOmUwOjgxOjc0OmVmOmU1DQpwY2li
 MjogPEFDUEkgUENJLVBDSSBicmlkZ2U+IGF0IGRldmljZSAxMC4wIG9uIHBjaTANCnBjaTI6IDxB
 Q1BJIFBDSSBidXM+IG9uIHBjaWIyDQpwY2liMzogPEFDUEkgUENJLVBDSSBicmlkZ2U+IGF0IGRl
 dmljZSAxMS4wIG9uIHBjaTANCnBjaTM6IDxBQ1BJIFBDSSBidXM+IG9uIHBjaWIzDQpwY2liNDog
 PEFDUEkgUENJLVBDSSBicmlkZ2U+IGF0IGRldmljZSAxMi4wIG9uIHBjaTANCnBjaTQ6IDxBQ1BJ
 IFBDSSBidXM+IG9uIHBjaWI0DQpwY2liNTogPEFDUEkgUENJLVBDSSBicmlkZ2U+IGF0IGRldmlj
 ZSAxMy4wIG9uIHBjaTANCnBjaTU6IDxBQ1BJIFBDSSBidXM+IG9uIHBjaWI1DQpwY2liNjogPEFD
 UEkgUENJLVBDSSBicmlkZ2U+IGF0IGRldmljZSAxNC4wIG9uIHBjaTANCnBjaTY6IDxBQ1BJIFBD
 SSBidXM+IG9uIHBjaWI2DQpwY2liNzogPEFDUEkgUENJLVBDSSBicmlkZ2U+IGF0IGRldmljZSAx
 NS4wIG9uIHBjaTANCnBjaTc6IDxBQ1BJIFBDSSBidXM+IG9uIHBjaWI3DQp2Z2FwY2kwOiA8VkdB
 LWNvbXBhdGlibGUgZGlzcGxheT4gcG9ydCAweGVjMDAtMHhlYzdmIG1lbSAweGZkMDAwMDAwLTB4
 ZmRmZmZmZmYsMHhkMDAwMDAwMC0weGRmZmZmZmZmLDB4ZmEwMDAwMDAtMHhmYmZmZmZmZiBpcnEg
 MTcgYXQgZGV2aWNlIDAuMCBvbiBwY2k3DQphbWR0ZW1wMDogPEFNRCBDUFUgT24tRGllIFRoZXJt
 YWwgU2Vuc29ycz4gb24gaG9zdGIzDQphbWR0ZW1wMTogPEFNRCBDUFUgT24tRGllIFRoZXJtYWwg
 U2Vuc29ycz4gb24gaG9zdGI3DQphY3BpX2J1dHRvbjA6IDxQb3dlciBCdXR0b24+IG9uIGFjcGkw
 DQphdHRpbWVyMDogPEFUIHRpbWVyPiBwb3J0IDB4NDAtMHg0MyBpcnEgMCBvbiBhY3BpMA0KVGlt
 ZWNvdW50ZXIgImk4MjU0IiBmcmVxdWVuY3kgMTE5MzE4MiBIeiBxdWFsaXR5IDANCkV2ZW50IHRp
 bWVyICJpODI1NCIgZnJlcXVlbmN5IDExOTMxODIgSHogcXVhbGl0eSAxMDANCmF0cnRjMDogPEFU
 IHJlYWx0aW1lIGNsb2NrPiBwb3J0IDB4NzAtMHg3MSBpcnEgOCBvbiBhY3BpMA0KRXZlbnQgdGlt
 ZXIgIlJUQyIgZnJlcXVlbmN5IDMyNzY4IEh6IHF1YWxpdHkgMA0KdWFydDA6IDwxNjU1MCBvciBj
 b21wYXRpYmxlPiBwb3J0IDB4M2Y4LTB4M2ZmIGlycSA0IGZsYWdzIDB4MTAgb24gYWNwaTANCnVh
 cnQxOiA8MTY1NTAgb3IgY29tcGF0aWJsZT4gcG9ydCAweDJmOC0weDJmZiBpcnEgMyBkcnEgMCBv
 biBhY3BpMA0KaHBldDA6IDxIaWdoIFByZWNpc2lvbiBFdmVudCBUaW1lcj4gaW9tZW0gMHhmZWQw
 MDAwMC0weGZlZDAwZmZmIG9uIGFjcGkwDQpUaW1lY291bnRlciAiSFBFVCIgZnJlcXVlbmN5IDI1
 MDAwMDAwIEh6IHF1YWxpdHkgOTAwDQphdGtiZGMwOiA8S2V5Ym9hcmQgY29udHJvbGxlciAoaTgw
 NDIpPiBwb3J0IDB4NjAsMHg2NCBpcnEgMSBvbiBhY3BpMA0KYXRrYmQwOiA8QVQgS2V5Ym9hcmQ+
 IGlycSAxIG9uIGF0a2JkYzANCmtiZDAgYXQgYXRrYmQwDQphdGtiZDA6IFtHSUFOVC1MT0NLRURd
 DQpwc20wOiA8UFMvMiBNb3VzZT4gaXJxIDEyIG9uIGF0a2JkYzANCnBzbTA6IFtHSUFOVC1MT0NL
 RURdDQpwc20wOiBtb2RlbCBNb3VzZU1hbissIGRldmljZSBJRCAwDQpvcm0wOiA8SVNBIE9wdGlv
 biBST00+IGF0IGlvbWVtIDB4Y2U4MDAtMHhjZmZmZiBvbiBpc2EwDQpzYzA6IDxTeXN0ZW0gY29u
 c29sZT4gYXQgZmxhZ3MgMHgxMDAgb24gaXNhMA0Kc2MwOiBWR0EgPDE2IHZpcnR1YWwgY29uc29s
 ZXMsIGZsYWdzPTB4MzAwPg0KdmdhMDogPEdlbmVyaWMgSVNBIFZHQT4gYXQgcG9ydCAweDNjMC0w
 eDNkZiBpb21lbSAweGEwMDAwLTB4YmZmZmYgb24gaXNhMA0KcHBjMDogY2Fubm90IHJlc2VydmUg
 SS9PIHBvcnQgcmFuZ2UNCnBvd2Vybm93MDogPFBvd2VyTm93ISBLOD4gb24gY3B1MA0KcG93ZXJu
 b3cxOiA8UG93ZXJOb3chIEs4PiBvbiBjcHUxDQpwb3dlcm5vdzI6IDxQb3dlck5vdyEgSzg+IG9u
 IGNwdTINCnBvd2Vybm93MzogPFBvd2VyTm93ISBLOD4gb24gY3B1Mw0KVGltZWNvdW50ZXJzIHRp
 Y2sgZXZlcnkgMS4wMDAgbXNlYw0KSVBzZWM6IEluaXRpYWxpemVkIFNlY3VyaXR5IEFzc29jaWF0
 aW9uIFByb2Nlc3NpbmcuDQpmaXJld2lyZTA6IDEgbm9kZXMsIG1heGhvcCA8PSAwIGNhYmxlIElS
 TSBpcm0oMCkgIChtZSkgDQpmaXJld2lyZTA6IGJ1cyBtYW5hZ2VyIDAgDQppcGZ3MiAoK2lwdjYp
 IGluaXRpYWxpemVkLCBkaXZlcnQgZW5hYmxlZCwgbmF0IGxvYWRhYmxlLCBydWxlLWJhc2VkIGZv
 cndhcmRpbmcgZW5hYmxlZCwgZGVmYXVsdCB0byBhY2NlcHQsIGxvZ2dpbmcgZGlzYWJsZWQNCkRV
 TU1ZTkVUIDAgd2l0aCBJUHY2IGluaXRpYWxpemVkICgxMDA0MDkpDQpsb2FkX2RuX3NjaGVkIGRu
 X3NjaGVkIEZJRk8gbG9hZGVkDQpsb2FkX2RuX3NjaGVkIGRuX3NjaGVkIFBSSU8gbG9hZGVkDQps
 b2FkX2RuX3NjaGVkIGRuX3NjaGVkIFFGUSBsb2FkZWQNCmxvYWRfZG5fc2NoZWQgZG5fc2NoZWQg
 UlIgbG9hZGVkDQpsb2FkX2RuX3NjaGVkIGRuX3NjaGVkIFdGMlErIGxvYWRlZA0KdXNidXMwOiAx
 Mk1icHMgRnVsbCBTcGVlZCBVU0IgdjEuMA0KdXNidXMxOiA0ODBNYnBzIEhpZ2ggU3BlZWQgVVNC
 IHYyLjANCnVnZW4wLjE6IDxuVmlkaWE+IGF0IHVzYnVzMA0KdWh1YjA6IDxuVmlkaWEgT0hDSSBy
 b290IEhVQiwgY2xhc3MgOS8wLCByZXYgMS4wMC8xLjAwLCBhZGRyIDE+IG9uIHVzYnVzMA0KdWdl
 bjEuMTogPG5WaWRpYT4gYXQgdXNidXMxDQp1aHViMTogPG5WaWRpYSBFSENJIHJvb3QgSFVCLCBj
 bGFzcyA5LzAsIHJldiAyLjAwLzEuMDAsIGFkZHIgMT4gb24gdXNidXMxDQphY2QwOiBEVkRSIDxQ
 SU9ORUVSIERWRC1SVyBEVlItMTEyLzEuMjE+IGF0IGF0YTAtbWFzdGVyIFVETUE2NiANCmFkNDog
 MzUzMDRNQiA8V0RDIFdEMzYwQURGRC0wME5MUjEgMjAuMDdQMjA+IGF0IGF0YTItbWFzdGVyIFVE
 TUExMDAgU0FUQSAxLjVHYi9zDQphY2QwOiBGQUlMVVJFIC0gSU5RVUlSWSBJTExFR0FMIFJFUVVF
 U1QgYXNjPTB4MjQgYXNjcT0weDAwIHNrcz0weDQ4IDB4MDAgMHgwMQ0KKHByb2JlNzphdGEwOjA6
 MDowKTogVEVTVCBVTklUIFJFQURZLiBDREI6IDAgMCAwIDAgMCAwIA0KKHByb2JlNzphdGEwOjA6
 MDowKTogQ0FNIHN0YXR1czogU0NTSSBTdGF0dXMgRXJyb3INCihwcm9iZTc6YXRhMDowOjA6MCk6
 IFNDU0kgc3RhdHVzOiBDaGVjayBDb25kaXRpb24NCihwcm9iZTc6YXRhMDowOjA6MCk6IFNDU0kg
 c2Vuc2U6IE5PVCBSRUFEWSBhc2M6M2EsMCAoTWVkaXVtIG5vdCBwcmVzZW50KQ0KYWQ2OiA3MTU0
 MDRNQiA8SGl0YWNoaSBIVUE3MjEwNzVLTEEzMzAgR0s4T0E3ME0+IGF0IGF0YTMtbWFzdGVyIFVE
 TUExMDAgU0FUQSAzR2Ivcw0KY2QwIGF0IGF0YTAgYnVzIDAgc2NidXMxIHRhcmdldCAwIGx1biAw
 DQpjZDA6IDxQSU9ORUVSIERWRC1SVyAgRFZSLTExMiAxLjIxPiBSZW1vdmFibGUgQ0QtUk9NIFND
 U0ktMCBkZXZpY2UgDQpjZDA6IDY2LjAwME1CL3MgdHJhbnNmZXJzDQpjZDA6IEF0dGVtcHQgdG8g
 cXVlcnkgZGV2aWNlIHNpemUgZmFpbGVkOiBOT1QgUkVBRFksIE1lZGl1bSBub3QgcHJlc2VudA0K
 YWQ4OiA3MTU0MDRNQiA8SGl0YWNoaSBIVUE3MjEwNzVLTEEzMzAgR0s4T0E3ME0+IGF0IGF0YTQt
 bWFzdGVyIFVETUExMDAgU0FUQSAzR2Ivcw0KYWQxMDogNzE1NDA0TUIgPEhpdGFjaGkgSFVBNzIx
 MDc1S0xBMzMwIEdLOE9BNzBNPiBhdCBhdGE1LW1hc3RlciBVRE1BMTAwIFNBVEEgM0diL3MNCmhk
 YWMwOiBIREEgQ29kZWMgIzA6IFJlYWx0ZWsgQUxDMjYyDQpwY20wOiA8SERBIFJlYWx0ZWsgQUxD
 MjYyIFBDTSAjMCBBbmFsb2c+IGF0IGNhZCAwIG5pZCAxIG9uIGhkYWMwDQpwY20xOiA8SERBIFJl
 YWx0ZWsgQUxDMjYyIFBDTSAjMSBBbmFsb2c+IGF0IGNhZCAwIG5pZCAxIG9uIGhkYWMwDQpTTVA6
 IEFQIENQVSAjMSBMYXVuY2hlZCENClNNUDogQVAgQ1BVICMzIExhdW5jaGVkIQ0KU01QOiBBUCBD
 UFUgIzIgTGF1bmNoZWQhDQpod3BtYzogVFNDLzEvNjQvMHgyMDxSRUE+IEs4LzQvNDgvMHgxZmY8
 SU5ULFVTUixTWVMsRURHLFRIUixSRUEsV1JJLElOVixRVUE+DQp1aHViMDogMTAgcG9ydHMgd2l0
 aCAxMCByZW1vdmFibGUsIHNlbGYgcG93ZXJlZA0KUm9vdCBtb3VudCB3YWl0aW5nIGZvcjogdXNi
 dXMxDQpSb290IG1vdW50IHdhaXRpbmcgZm9yOiB1c2J1czENClJvb3QgbW91bnQgd2FpdGluZyBm
 b3I6IHVzYnVzMQ0KUm9vdCBtb3VudCB3YWl0aW5nIGZvcjogdXNidXMxDQp1aHViMTogMTAgcG9y
 dHMgd2l0aCAxMCByZW1vdmFibGUsIHNlbGYgcG93ZXJlZA0KUm9vdCBtb3VudCB3YWl0aW5nIGZv
 cjogdXNidXMxDQp1Z2VuMS4yOiA8dmVuZG9yIDB4MDQwOT4gYXQgdXNidXMxDQp1aHViMjogPHZl
 bmRvciAweDA0MDkgcHJvZHVjdCAweDAwNWEsIGNsYXNzIDkvMCwgcmV2IDIuMDAvMS4wMCwgYWRk
 ciAyPiBvbiB1c2J1czENClJvb3QgbW91bnQgd2FpdGluZyBmb3I6IHVzYnVzMQ0KdWh1YjI6IDMg
 cG9ydHMgd2l0aCAyIHJlbW92YWJsZSwgYnVzIHBvd2VyZWQNCnVnZW4xLjM6IDxUb3ByZSBDb3Jw
 b3JhdGlvbj4gYXQgdXNidXMxDQp1a2JkMDogPFRvcHJlIENvcnBvcmF0aW9uIEhIS0IgUHJvZmVz
 c2lvbmFsLCBjbGFzcyAwLzAsIHJldiAxLjEwLzEuMDIsIGFkZHIgMz4gb24gdXNidXMxDQprYmQy
 IGF0IHVrYmQwDQpSb290IG1vdW50IHdhaXRpbmcgZm9yOiB1c2J1czENCnVnZW4xLjQ6IDxFTEVD
 T00+IGF0IHVzYnVzMQ0KdW1zMDogPEVMRUNPTSBFTEVDT00gVVNCIG1vdXNlIHdpdGggd2hlZWws
 IGNsYXNzIDAvMCwgcmV2IDEuMTAvMjIuODcsIGFkZHIgND4gb24gdXNidXMxDQp1bXMwOiAzIGJ1
 dHRvbnMgYW5kIFtYWVpdIGNvb3JkaW5hdGVzIElEPTANClRyeWluZyB0byBtb3VudCByb290IGZy
 b20gdWZzOi9kZXYvYWQ0czJhIFtydyxub2F0aW1lXS4uLg0KWkZTIGZpbGVzeXN0ZW0gdmVyc2lv
 biA0DQpaRlMgc3RvcmFnZSBwb29sIHZlcnNpb24gMTUNCg==
 
 ----Next_Part(Wed_Nov_24_00_15_02_2010_974)----

From: Andriy Gapon <avg@freebsd.org>
To: =?UTF-8?B?IktPSUUgSGlkZXRha2EgKOmvieaxn+iLsemahu+8oOaVsOeQhuaKgOeglCki?=
 <koie@suri.co.jp>
Cc: bug-followup@freebsd.org
Subject: Re: amd64/152405: wrong user time is reported when CPU frequency
 throttled.
Date: Tue, 23 Nov 2010 18:18:45 +0200

 on 23/11/2010 17:15 KOIE Hidetaka (鯉江英隆＠数理技研) said the following:
 > I send sysctl kern.timecounter and /var/run/dmesg.boot.
 
 Could you please additionally provide output of sysctl dev.cpu and sysctl machdep?
 
 Meanwhile, please also try your test-case after having set the following sysctl
 kern.eventtimer.choice="i8254".
 Thank you.
 -- 
 Andriy Gapon

From: KOIE Hidetaka (=?iso-2022-jp?B?GyRCOHE5PjFRTjQhdz90TX01OzgmGyhC?=)
 <koie@suri.co.jp>
To: avg@freebsd.org
Cc: bug-followup@freebsd.org
Subject: Re: amd64/152405: wrong user time is reported when CPU frequency
 throttled.
Date: Wed, 24 Nov 2010 15:54:16 +0900 (JST)

 ----Next_Part(Wed_Nov_24_15_54_16_2010_581)--
 Content-Type: Text/Plain; charset=iso-2022-jp
 Content-Transfer-Encoding: base64
 
 ICBNZXNzYWdlLUlkOiA8NENFQkU5NjUuNTA1MDMwNkBmcmVlYnNkLm9yZz4NCiAgRGF0ZTogICAg
 ICAgVHVlLCAyMyBOb3YgMjAxMCAxODoxODo0NSArMDIwMA0KICBGcm9tOiAgICAgICBBbmRyaXkg
 R2Fwb24gPGF2Z0BmcmVlYnNkLm9yZz4NCiAgU3ViamVjdDogICAgUmU6IGFtZDY0LzE1MjQwNTog
 d3JvbmcgdXNlciB0aW1lIGlzIHJlcG9ydGVkIHdoZW4gQ1BVIGYuLg0KDQogIHwgb24gMjMvMTEv
 MjAxMCAxNzoxNSBLT0lFIEhpZGV0YWthICgbJEI4cTk+MVFONCF3P3RNfTU7OCYbKEIpIHNhaWQg
 dGhlIGZvbGxvd2luZzoNCiAgfCA+IEkgc2VuZCBzeXNjdGwga2Vybi50aW1lY291bnRlciBhbmQg
 L3Zhci9ydW4vZG1lc2cuYm9vdC4NCiAgfCANCiAgfCBDb3VsZCB5b3UgcGxlYXNlIGFkZGl0aW9u
 YWxseSBwcm92aWRlIG91dHB1dCBvZiBzeXNjdGwgZGV2LmNwdSBhbmQgc3lzY3RsIG1hY2hkZXA/
 DQoNCm91dHB1dCBvZiBzeXNjdGwgZGV2LmNwdSBtYWNoZGVwIGlzIGF0dGFjaGVkLg0KDQogIHwg
 TWVhbndoaWxlLCBwbGVhc2UgYWxzbyB0cnkgeW91ciB0ZXN0LWNhc2UgYWZ0ZXIgaGF2aW5nIHNl
 dCB0aGUgZm9sbG93aW5nIHN5c2N0bA0KICB8IGtlcm4uZXZlbnR0aW1lci5jaG9pY2U9Imk4MjU0
 Ii4NCg0Kc3lzY3RsIGtlcm4uZXZlbnR0aW1lci5jaG9pY2U9Imk4MjU0IiBmYWlscy4NCg0KICAg
 ICUgc3VkbyBzeXNjdGwga2Vybi5ldmVudHRpbWVyLmNob2ljZT0iaTgyNTQiDQogICAgUGFzc3dv
 cmQ6DQogICAgc3lzY3RsOiBvaWQgJ2tlcm4uZXZlbnR0aW1lci5jaG9pY2UnIGlzIHJlYWQgb25s
 eQ0KICAgICUNCg0KImtlcm4uZXZlbnR0aW1lci5jaG9pY2U9aTgyNTQiIGluIC9ib290L2xvYWRl
 ci5jb25mIGhhcyBubyBlZmZlY3QuDQpJdCBzZWVtcyB0aGF0IHRoZSB2YXJpYWJsZSBpcyByZWFk
 LW9ubHk6DQoNCiAgICAlIGdyZXAgLXIgJ2tlcm4uZXZlbnR0aW1lci5jaG9pY2UnIC91c3Ivc3Jj
 LyoNCiAgICAvdXNyL3NyYy9zaGFyZS9tYW4vbWFuNy9ldmVudHRpbWVycy43Omtlcm4uZXZlbnR0
 aW1lci5jaG9pY2U6IEhQRVQoNTUwKSBMQVBJQyg0MDApIGk4MjU0KDEwMCkgUlRDKDApDQogICAg
 L3Vzci9zcmMvc3lzL2tlcm4va2Vybl9ldC5jOnN5c2N0bF9rZXJuX2V2ZW50dGltZXJfY2hvaWNl
 KFNZU0NUTF9IQU5ETEVSX0FSR1MpDQogICAgL3Vzci9zcmMvc3lzL2tlcm4va2Vybl9ldC5jOiAg
 ICAwLCAwLCBzeXNjdGxfa2Vybl9ldmVudHRpbWVyX2Nob2ljZSwgIkEiLCAiUHJlc2VudCBldmVu
 dCB0aW1lcnMiKTsNCiAgICANCjxrZXJuL2tlcm5fZXQuYz4NCiAgICBTWVNDVExfUFJPQyhfa2Vy
 bl9ldmVudHRpbWVyLCBPSURfQVVUTywgY2hvaWNlLA0KICAgICAgICBDVExUWVBFX1NUUklORyB8
 IENUTEZMQUdfUkQgfCBDVExGTEFHX01QU0FGRSwNCiAgICAgICAgMCwgMCwgc3lzY3RsX2tlcm5f
 ZXZlbnR0aW1lcl9jaG9pY2UsICJBIiwgIlByZXNlbnQgZXZlbnQgdGltZXJzIik7DQoNCi0tDQpL
 T0lFIEhpZGV0YWthDQo=
 
 ----Next_Part(Wed_Nov_24_15_54_16_2010_581)--
 Content-Type: Text/Plain; charset=us-ascii
 Content-Transfer-Encoding: base64
 Content-Disposition: inline; filename="sysctl.txt"
 
 ZGV2LmNwdS4wLiVkZXNjOiBBQ1BJIENQVQ0KZGV2LmNwdS4wLiVkcml2ZXI6IGNwdQ0KZGV2LmNw
 dS4wLiVsb2NhdGlvbjogaGFuZGxlPVxfUFJfLlAwMDENCmRldi5jcHUuMC4lcG5waW5mbzogX0hJ
 RD1ub25lIF9VSUQ9MA0KZGV2LmNwdS4wLiVwYXJlbnQ6IGFjcGkwDQpkZXYuY3B1LjAudGVtcGVy
 YXR1cmU6IDU2LjBDDQpkZXYuY3B1LjAuZnJlcTogMTAwMA0KZGV2LmNwdS4wLmZyZXFfbGV2ZWxz
 OiAxODAwLzk1MDAwIDEwMDAvMzc3ODcNCmRldi5jcHUuMC5jeF9zdXBwb3J0ZWQ6IEMxLzANCmRl
 di5jcHUuMC5jeF9sb3dlc3Q6IEMxDQpkZXYuY3B1LjAuY3hfdXNhZ2U6IDEwMC4wMCUgbGFzdCAx
 OTh1cw0KZGV2LmNwdS4xLiVkZXNjOiBBQ1BJIENQVQ0KZGV2LmNwdS4xLiVkcml2ZXI6IGNwdQ0K
 ZGV2LmNwdS4xLiVsb2NhdGlvbjogaGFuZGxlPVxfUFJfLlAwMDINCmRldi5jcHUuMS4lcG5waW5m
 bzogX0hJRD1ub25lIF9VSUQ9MA0KZGV2LmNwdS4xLiVwYXJlbnQ6IGFjcGkwDQpkZXYuY3B1LjEu
 dGVtcGVyYXR1cmU6IDYwLjBDDQpkZXYuY3B1LjEuY3hfc3VwcG9ydGVkOiBDMS8wDQpkZXYuY3B1
 LjEuY3hfbG93ZXN0OiBDMQ0KZGV2LmNwdS4xLmN4X3VzYWdlOiAxMDAuMDAlIGxhc3QgMTIxMnVz
 DQpkZXYuY3B1LjIuJWRlc2M6IEFDUEkgQ1BVDQpkZXYuY3B1LjIuJWRyaXZlcjogY3B1DQpkZXYu
 Y3B1LjIuJWxvY2F0aW9uOiBoYW5kbGU9XF9QUl8uUDAwMw0KZGV2LmNwdS4yLiVwbnBpbmZvOiBf
 SElEPW5vbmUgX1VJRD0wDQpkZXYuY3B1LjIuJXBhcmVudDogYWNwaTANCmRldi5jcHUuMi50ZW1w
 ZXJhdHVyZTogNTcuMEMNCmRldi5jcHUuMi5jeF9zdXBwb3J0ZWQ6IEMxLzANCmRldi5jcHUuMi5j
 eF9sb3dlc3Q6IEMxDQpkZXYuY3B1LjIuY3hfdXNhZ2U6IDEwMC4wMCUgbGFzdCA5NTh1cw0KZGV2
 LmNwdS4zLiVkZXNjOiBBQ1BJIENQVQ0KZGV2LmNwdS4zLiVkcml2ZXI6IGNwdQ0KZGV2LmNwdS4z
 LiVsb2NhdGlvbjogaGFuZGxlPVxfUFJfLlAwMDQNCmRldi5jcHUuMy4lcG5waW5mbzogX0hJRD1u
 b25lIF9VSUQ9MA0KZGV2LmNwdS4zLiVwYXJlbnQ6IGFjcGkwDQpkZXYuY3B1LjMudGVtcGVyYXR1
 cmU6IDU4LjBDDQpkZXYuY3B1LjMuY3hfc3VwcG9ydGVkOiBDMS8wDQpkZXYuY3B1LjMuY3hfbG93
 ZXN0OiBDMQ0KZGV2LmNwdS4zLmN4X3VzYWdlOiAxMDAuMDAlIGxhc3QgMTU3NXVzDQptYWNoZGVw
 LmFjcGlfdGltZXJfZnJlcTogMzU3OTU0NQ0KbWFjaGRlcC5lbmFibGVfcGFuaWNfa2V5OiAwDQpt
 YWNoZGVwLnJ0Y19zYXZlX3BlcmlvZDogMTgwMA0KbWFjaGRlcC5hZGprZXJudHo6IC0zMjQwMA0K
 bWFjaGRlcC53YWxsX2Ntb3NfY2xvY2s6IDENCm1hY2hkZXAuZGlzYWJsZV9ydGNfc2V0OiAwDQpt
 YWNoZGVwLmRpc2FibGVfbXRycnM6IDANCm1hY2hkZXAuaWRsZTogYWNwaQ0KbWFjaGRlcC5pZGxl
 X2F2YWlsYWJsZTogc3BpbiwgaGx0LCBhY3BpDQptYWNoZGVwLmlkbGVfbXdhaXQ6IDENCm1hY2hk
 ZXAuaGx0X2NwdXM6IDANCm1hY2hkZXAucHJvdF9mYXVsdF90cmFuc2xhdGlvbjogMA0KbWFjaGRl
 cC5wYW5pY19vbl9ubWk6IDENCm1hY2hkZXAua2RiX29uX25taTogMQ0KbWFjaGRlcC50c2NfZnJl
 cTogMTAwMDAwMDAwMA0KbWFjaGRlcC5hY3BpX3Jvb3Q6IDEwMTk2NjQNCm1hY2hkZXAuaTgyNTRf
 ZnJlcTogMTE5MzE4Mg0K
 
 ----Next_Part(Wed_Nov_24_15_54_16_2010_581)----

From: Andriy Gapon <avg@freebsd.org>
To: =?ISO-2022-JP?B?IktPSUUgSGlkZXRha2EgKBskQjhxOT4xUU40IXc/dE19NTs4JhsoQg==?=
 =?ISO-2022-JP?B?KSI=?= <koie@suri.co.jp>
Cc: bug-followup@freebsd.org
Subject: Re: amd64/152405: wrong user time is reported when CPU frequency
 throttled.
Date: Wed, 24 Nov 2010 08:56:26 +0200

 on 24/11/2010 08:54 KOIE Hidetaka ($B8q9>1QN4!w?tM}5;8&(B) said the following:
 >   Message-Id: <4CEBE965.5050306@freebsd.org>
 >   Date:       Tue, 23 Nov 2010 18:18:45 +0200
 >   From:       Andriy Gapon <avg@freebsd.org>
 >   Subject:    Re: amd64/152405: wrong user time is reported when CPU f..
 > 
 >   | on 23/11/2010 17:15 KOIE Hidetaka ($B8q9>1QN4!w?tM}5;8&(B) said the following:
 >   | > I send sysctl kern.timecounter and /var/run/dmesg.boot.
 >   | 
 >   | Could you please additionally provide output of sysctl dev.cpu and sysctl machdep?
 > 
 > output of sysctl dev.cpu machdep is attached.
 > 
 >   | Meanwhile, please also try your test-case after having set the following sysctl
 >   | kern.eventtimer.choice="i8254".
 > 
 > sysctl kern.eventtimer.choice="i8254" fails.
 
 Many apologies, this should have been kern.eventtimer.timer="i8254".
 Could you please try that?
 
 
 -- 
 Andriy Gapon

From: KOIE Hidetaka (=?iso-2022-jp?B?GyRCOHE5PjFRTjQhdz90TX01OzgmGyhC?=)
 <koie@suri.co.jp>
To: avg@freebsd.org
Cc: bug-followup@freebsd.org
Subject: Re: amd64/152405: wrong user time is reported when CPU frequency
 throttled.
Date: Wed, 24 Nov 2010 16:17:16 +0900 (JST)

   Message-Id: <4CECB71A.7040305@freebsd.org>
   Date:       Wed, 24 Nov 2010 08:56:26 +0200
   From:       Andriy Gapon <avg@freebsd.org>
   Subject:    Re: amd64/152405: wrong user time is reported when CPU f..
 
   | on 24/11/2010 08:54 KOIE Hidetaka ($B8q9>1QN4!w?tM}5;8&(B) said the following:
   | >   Message-Id: <4CEBE965.5050306@freebsd.org>
   | >   Date:       Tue, 23 Nov 2010 18:18:45 +0200
   | >   From:       Andriy Gapon <avg@freebsd.org>
   | >   Subject:    Re: amd64/152405: wrong user time is reported when CPU f..
   | > 
   | >   | on 23/11/2010 17:15 KOIE Hidetaka ($B8q9>1QN4!w?tM}5;8&(B) said the following:
   | >   | > I send sysctl kern.timecounter and /var/run/dmesg.boot.
   | >   | 
   | >   | Could you please additionally provide output of sysctl dev.cpu and sysctl machdep?
   | > 
   | > output of sysctl dev.cpu machdep is attached.
   | > 
   | >   | Meanwhile, please also try your test-case after having set the following sysctl
   | >   | kern.eventtimer.choice="i8254".
   | > 
   | > sysctl kern.eventtimer.choice="i8254" fails.
   | 
   | Many apologies, this should have been kern.eventtimer.timer="i8254".
   | Could you please try that?
 
 roger.
 
     % sudo sysctl kern.eventtimer.timer="i8254"
     Password:
     kern.eventtimer.timer: LAPIC -> i8254
     % sudo sysctl dev.cpu.0.freq=1800
     dev.cpu.0.freq: 1800 -> 1800
     % time ./loop
     ffffffff
     0.000u 4.773s 0:00.08 5962.5%   0+0k 0+0io 0pf+0w
     % sudo sysctl dev.cpu.0.freq=1000
     dev.cpu.0.freq: 1800 -> 1000
     % time ./loop
     ffffffff
     0.000u 4.773s 0:00.21 2271.4%   0+0k 0+0io 0pf+0w
     % sleep 1
     ("sleep" had returned after sysctl kern.eventtimer.timer="LAPIC" on another terminal)
     %
 
 NOTE: user time is 0, system time is too long, and elapsed time is too short.
 
 And, wall-clock has been slow...
     % ssh my-server date ; env LANG=C date
     Wed Nov 24 16:03:11 JST 2010
     Wed Nov 24 16:01:15 JST 2010
 
 --
 KOIE Hidetaka

From: Andriy Gapon <avg@freebsd.org>
To: =?ISO-2022-JP?B?IktPSUUgSGlkZXRha2EgKBskQjhxOT4xUU40IXc/dE19NTs4JhsoQg==?=
 =?ISO-2022-JP?B?KSI=?= <koie@suri.co.jp>
Cc: bug-followup@freebsd.org
Subject: Re: amd64/152405: wrong user time is reported when CPU frequency
 throttled.
Date: Wed, 24 Nov 2010 11:31:38 +0200

 on 24/11/2010 09:17 KOIE Hidetaka ($B8q9>1QN4!w?tM}5;8&(B) said the following:
 >     % sudo sysctl kern.eventtimer.timer="i8254"
 >     Password:
 >     kern.eventtimer.timer: LAPIC -> i8254
 >     % sudo sysctl dev.cpu.0.freq=1800
 >     dev.cpu.0.freq: 1800 -> 1800
 >     % time ./loop
 >     ffffffff
 >     0.000u 4.773s 0:00.08 5962.5%   0+0k 0+0io 0pf+0w
 >     % sudo sysctl dev.cpu.0.freq=1000
 >     dev.cpu.0.freq: 1800 -> 1000
 >     % time ./loop
 >     ffffffff
 >     0.000u 4.773s 0:00.21 2271.4%   0+0k 0+0io 0pf+0w
 >     % sleep 1
 >     ("sleep" had returned after sysctl kern.eventtimer.timer="LAPIC" on another terminal)
 >     %
 > 
 > NOTE: user time is 0, system time is too long, and elapsed time is too short.
 > 
 > And, wall-clock has been slow...
 >     % ssh my-server date ; env LANG=C date
 >     Wed Nov 24 16:03:11 JST 2010
 >     Wed Nov 24 16:01:15 JST 2010
 
 
 Can you try to boot with kern.eventtimer.timer="i8254" in loader.conf?
 
 -- 
 Andriy Gapon

From: KOIE Hidetaka (=?iso-2022-jp?B?GyRCOHE5PjFRTjQhdz90TX01OzgmGyhC?=)
 <koie@suri.co.jp>
To: avg@freebsd.org
Cc: bug-followup@freebsd.org
Subject: Re: amd64/152405: wrong user time is reported when CPU frequency
 throttled.
Date: Wed, 24 Nov 2010 21:33:05 +0900 (JST)

 ----Next_Part(Wed_Nov_24_21_33_05_2010_547)--
 Content-Type: Text/Plain; charset=us-ascii
 Content-Transfer-Encoding: 7bit
 
   Message-Id: <4CECDB7A.1050402@freebsd.org>
   Date:       Wed, 24 Nov 2010 11:31:38 +0200
   From:       Andriy Gapon <avg@freebsd.org>
   Subject:    Re: amd64/152405: wrong user time is reported when CPU f..
 
   | Can you try to boot with kern.eventtimer.timer="i8254" in loader.conf?
 
 Boot process hangs up. (I tried 2 times)
 
 --
 KOIE Hidetaka
 
 ----Next_Part(Wed_Nov_24_21_33_05_2010_547)--
 Content-Type: Image/Jpeg
 Content-Transfer-Encoding: base64
 Content-Disposition: inline; filename="K3410142.JPG"
 
 /9j/4AAQSkZJRgABAQAAAQABAAD//gBdQ1JFQVRPUjogWFYgdmVyc2lvbiAzLjEwYS1qdW1ib0Zp
 eCtFbmggb2YgMjAwODEyMTYgKGludGVyaW0hKSAgUXVhbGl0eSA9IDYwLCBTbW9vdGhpbmcgPSAw
 Cv/hEpZFeGlmAABNTQAqAAAACAAJAQ4AAgAAABAAAAB6AQ8AAgAAAAgAAACKARAAAgAAAAcAAACS
 ARIAAwAAAAEAAQAAARoABQAAAAEAAACZARsABQAAAAEAAAChASgAAwAAAAEAAgAAAhMAAwAAAAEA
 AQAAh2kABAAAAAEAAACpAAABN0szNDEwMTQyAAAAAAAAAABLWU9DRVJBAFdYMzQxSwAAAABIAAAA
 AQAAAEgAAAABAAiQAAAHAAAABDAyMTCQAwACAAAAFAAAAQ+QBAACAAAAFAAAASORAQAHAAAABAEC
 AwCgAAAHAAAABDAxMDCgAQADAAAAAQABAACgAgAEAAAAAQAABQCgAwAEAAAAAQAAA8AAAAAAMjAx
 MDoxMToyNCAyMToxNzo0NQAyMDEwOjExOjI0IDIxOjE3OjQ1AAAGAQMAAwAAAAEABgAAARoABQAA
 AAEAAAGFARsABQAAAAEAAAGNASgAAwAAAAEAAgAAAgEABAAAAAEAAAGVAgIABAAAAAEAABD5AAAA
 AAAAAEgAAAABAAAASAAAAAH/2P/bAIQAIBYYHBgUIBwaHCQiICYwUDQwLCwwYkZKOlB0Znp4cmZw
 boCQuJyAiK6KbnCg2qKuvsTO0M58muLy4MjwuMrOxgEiJCQwKjBeNDRexoRwhMbGxsbGxsbGxsbG
 xsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbG/8QBogAAAQUBAQEBAQEAAAAA
 AAAAAAECAwQFBgcICQoLAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQE
 AAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2
 Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Sl
 pqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+hEAAgEC
 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
 NJ5l4R95hX//2Q==
 
 ----Next_Part(Wed_Nov_24_21_33_05_2010_547)----

From: Andriy Gapon <avg@freebsd.org>
To: =?UTF-8?B?IktPSUUgSGlkZXRha2EgKOmvieaxn+iLsemahu+8oOaVsOeQhuaKgOeglCki?=
 <koie@suri.co.jp>
Cc: bug-followup@freebsd.org
Subject: Re: amd64/152405: wrong user time is reported when CPU frequency
 throttled.
Date: Wed, 24 Nov 2010 15:54:19 +0200

 on 24/11/2010 14:33 KOIE Hidetaka (鯉江英隆＠数理技研) said the following:
 >   | Can you try to boot with kern.eventtimer.timer="i8254" in loader.conf?
 > 
 > Boot process hangs up. (I tried 2 times)
 
 Oh, hm, very strange.  Not sure why that happens.
 
 Anyway, it seems that I missed the real cause of this problem and the excellent
 explanation by Bruce.
 
 Your CPU doesn't have invariant TSC and (x86) FreeBSD doesn't handle that
 correctly for some things like e.g. CPU time accounting that you are reporting about.
 
 This is not a problem for modern hardware which almost universally supports
 invariant TSC, but older models are affected.
 
 -- 
 Andriy Gapon

From: Andriy Gapon <avg@freebsd.org>
To: =?UTF-8?B?IktPSUUgSGlkZXRha2EgKOmvieaxn+iLsemahu+8oOaVsOeQhuaKgOeglCki?=
 <koie@suri.co.jp>
Cc: bug-followup@freebsd.org
Subject: Re: amd64/152405: wrong user time is reported when CPU frequency
 throttled.
Date: Wed, 24 Nov 2010 16:19:24 +0200

 on 24/11/2010 15:54 Andriy Gapon said the following:
 > Anyway, it seems that I missed the real cause of this problem and the excellent
 > explanation by Bruce.
 
 Could you please try the following (work-in-progress) patch?
 http://people.freebsd.org/~avg/tsc-cpu_ticks.diff
 
 I expect that it should improve accuracy for your testcase, but may penalize
 system performance to certain degree.
 
 As mav@ has said, performance, accuracy, powerstate management - pick any two of
 the three.  OTOH, I am not sure by how much the performance could be affected.
 
 -- 
 Andriy Gapon

From: KOIE Hidetaka (=?iso-2022-jp?B?GyRCOHE5PjFRTjQhdz90TX01OzgmGyhC?=)
 <koie@suri.co.jp>
To: avg@freebsd.org
Cc: bug-followup@freebsd.org
Subject: Re: amd64/152405: wrong user time is reported when CPU frequency
 throttled.
Date: Thu, 25 Nov 2010 12:56:40 +0900 (JST)

   Message-Id: <4CED1EEC.5010107@freebsd.org>
   Date:       Wed, 24 Nov 2010 16:19:24 +0200
   From:       Andriy Gapon <avg@freebsd.org>
   Subject:    Re: amd64/152405: wrong user time is reported when CPU f..
 
   | on 24/11/2010 15:54 Andriy Gapon said the following:
   | > Anyway, it seems that I missed the real cause of this problem and the excellent
   | > explanation by Bruce.
   | 
   | Could you please try the following (work-in-progress) patch?
   | http://people.freebsd.org/~avg/tsc-cpu_ticks.diff
 
 on the patched kernel, time command reports correct time!
 
     % sysctl kern.eventtimer.timer
     kern.eventtimer.timer: LAPIC
     % sudo sysctl dev.cpu.0.freq=1800
     Password:
     dev.cpu.0.freq: 1800 -> 1800
     % time ./loop
     ffffffff
     4.835u 0.007s 0:04.99 96.7%     5+2785k 0+0io 0pf+0w
     % sudo sysctl dev.cpu.0.freq=1000
     dev.cpu.0.freq: 1800 -> 1000
     % time ./loop
     ffffffff
     8.754u 0.000s 0:09.12 95.9%     5+2777k 0+0io 0pf+0w
     %
 
 Thank you.
 
   | 
   | I expect that it should improve accuracy for your testcase, but may penalize
   | system performance to certain degree.
   | 
   | As mav@ has said, performance, accuracy, powerstate management - pick any two of
   | the three.  OTOH, I am not sure by how much the performance could be affected.
 
 --
 KOIE Hidetaka
Responsible-Changed-From-To: freebsd-amd64->avg 
Responsible-Changed-By: avg 
Responsible-Changed-When: Sun Dec 5 14:31:05 UTC 2010 
Responsible-Changed-Why:  
Seems like I am tracking this issue. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=152405 
Responsible-Changed-From-To: avg->freebsd-bugs 
Responsible-Changed-By: avg 
Responsible-Changed-When: Sat Dec 11 10:59:34 UTC 2010 
Responsible-Changed-Why:  
Back to the pool.  The approach that I had in mind doesn't seem 
to be good enough and I don't have a better patch. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=152405 
>Unformatted:
 >>>sysctl dev.cpu.0.freq=1800
 
 koie@guriandgura% date ; time ./loop ; date
 Fri Nov 19 16:58:27 JST 2010
 ffffffff
 4.828u 0.000s 0:04.96 97.1%     5+2771k 0+0io 0pf+0w
 Fri Nov 19 16:58:32 JST 2010
 
 >>>sysctl dev.cpu.0.freq=1000
 
 koie@guriandgura% date ; time ./loop ; date
 Fri Nov 19 16:58:54 JST 2010
 ffffffff
 4.838u 0.008s 0:09.08 53.1%     9+5037k 0+0io 0pf+0w
 
 NOTE:
   53.1% / 97.1% = 0.546.
   1000 / 1800 = 0.555.
 
 NOTE:
 koie@guriandgura% sysctl kern.sched kern.eventtimer
 kern.sched.cpusetsize: 8
 kern.sched.preemption: 1
 kern.sched.topology_spec: <groups>
  <group level="1" cache-level="0">
   <cpu count="4" mask="0xf">0, 1, 2, 3</cpu>
   <children>
    <group level="2" cache-level="2">
     <cpu count="2" mask="0x3">0, 1</cpu>
    </group>
    <group level="2" cache-level="2">
     <cpu count="2" mask="0xc">2, 3</cpu>
    </group>
   </children>
  </group>
 </groups>
 
 kern.sched.steal_thresh: 2
 kern.sched.steal_idle: 1
 kern.sched.steal_htt: 1
 kern.sched.balance_interval: 127
 kern.sched.balance: 1
 kern.sched.affinity: 1
 kern.sched.idlespinthresh: 16
 kern.sched.idlespins: 10000
 kern.sched.static_boost: 160
 kern.sched.preempt_thresh: 64
 kern.sched.interact: 30
 kern.sched.slice: 12
 kern.sched.name: ULE
 kern.eventtimer.choice: LAPIC(400) i8254(100) RTC(0)
 kern.eventtimer.et.LAPIC.flags: 15
 kern.eventtimer.et.LAPIC.frequency: 100006412
 kern.eventtimer.et.LAPIC.quality: 400
 kern.eventtimer.et.i8254.flags: 1
 kern.eventtimer.et.i8254.frequency: 1193182
 kern.eventtimer.et.i8254.quality: 100
 kern.eventtimer.et.RTC.flags: 17
 kern.eventtimer.et.RTC.frequency: 32768
 kern.eventtimer.et.RTC.quality: 0
 kern.eventtimer.periodic: 0
 kern.eventtimer.timer: LAPIC
 kern.eventtimer.idletick: 0
 kern.eventtimer.singlemul: 2
 koie@guriandgura%
 
