Date: Tue, 11 Jan 2011 17:26:59 +1100 (EST) From: Bruce Evans <brde@optusnet.com.au> To: Alexander Motin <mav@FreeBSD.org> Cc: acpi@FreeBSD.org, "Arno J. Klaassen" <arno@heho.snv.jussieu.fr> Subject: Re: Tyan S3992-E: hpet no longer working Message-ID: <20110111160606.H2006@besplex.bde.org> In-Reply-To: <4D2B8944.6030200@FreeBSD.org> References: <wpk4ij3u9f.fsf@heho.snv.jussieu.fr> <201101101500.45783.jhb@freebsd.org> <4D2B67E4.70907@FreeBSD.org> <201101101515.47127.jhb@freebsd.org> <wpwrmc4f9n.fsf@heho.snv.jussieu.fr> <4D2B8944.6030200@FreeBSD.org>
index | next in thread | previous in thread | raw e-mail
On Tue, 11 Jan 2011, Alexander Motin wrote:
> Arno J. Klaassen wrote:
>> Sure .. that said, the BIOS I use is the last official release for this
>> board (Sept 2009) and not even a more recent beta-release is available.
>>
>> I would expect reporting a disabled device which cannot be enabled via
>> de BIOS a bug deserving a newer release.
>>
>> Anyway, this bug isn't very harmful for me, but the non-hpet
>> timecounters don't seem that fun either :
>>
>> # uptime
>> 10:27PM up 2 days, 5:44
>>
>> # sysctl kern.timecounter.hardware kern.timecounter.choice
>> kern.timecounter.hardware: ACPI-safe
>> kern.timecounter.choice: TSC(-100) i8254(0) ACPI-safe(850) dummy(-1000000)
>>
>> # vmstat -i | fgrep cpu:
>> cpu0:timer 38599321 199
>> cpu6:timer 2151003 11
>> cpu1:timer 7121075 36
>> cpu3:timer 1808269 9
>> cpu5:timer 3832463 19
>> cpu2:timer 2399988 12
>> cpu7:timer 2013444 10
>> cpu4:timer 21630368 111
>>
>> (default HZ ....)
>>
>> Maybe I should try downgrading the BIOS?
>
> So what here seems not funny to you? Lower timer interrupt rate is not a
> bug but feature of 9-CURRENT.
They (cpu*:timer) also aren't timecounters :-).
Hmm, with hpet on FreeBSD cluster machines, there is now only hpet. How
is statclock distributed with hpet?
I never properly reviewed the latest "irqN"-printing changes in systat,
and just noticed that they break printing of "irq" the usual case where
the interrupt name starts with "irqN:" (then systat removes "irqN:" and
never puts back "irq").
Not-so-quick fix:
% Index: vmstat.c
% ===================================================================
% RCS file: /home/ncvs/src/usr.bin/systat/vmstat.c,v
% retrieving revision 1.93
% diff -u -2 -r1.93 vmstat.c
% --- vmstat.c 11 Dec 2010 08:32:16 -0000 1.93
% +++ vmstat.c 11 Jan 2011 06:20:01 -0000
% @@ -244,5 +244,10 @@
% *--cp1 = '\0';
%
% - /* Convert "irqN: name" to "name irqN". */
% + /*
% + * Convert "irqN: name" to "name irqN", "name N" or
% + * "name". First reduce to "name"; then append
% + * " irqN" if that fits, else " N" if that fits,
% + * else drop all of "N".
% + */
% if (strncmp(cp, "irq", 3) == 0) {
% cp1 = cp + 3;
% @@ -256,5 +261,8 @@
% cp2 = strdup(cp);
% bcopy(cp1, cp, sz - (cp1 - cp) + 1);
% - if (sz <= 10 + 4) {
% + if (sz <= 10 + 1) {
% + strcat(cp, " ");
% + strcat(cp, cp2);
% + } else if (sz <= 10 + 4) {
% strcat(cp, " ");
% strcat(cp, cp2 + 3);
% @@ -266,5 +274,9 @@
% /*
% * Convert "name irqN" to "name N" if the former is
% - * longer than the field width.
% + * longer than the field width. This handles some
% + * cases where the original name did not start with
% + * "irqN". We don't bother dropping partial "N"s in
% + * this case. The "name" part may be too long in
% + * either case; then we blindly truncate it.
% */
% if ((cp1 = strstr(cp, "irq")) != NULL &&
This restores part of rev.1.90, updates the first comment to match the code
changes in rev.1.90, and expands the last comment.
Bruce
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110111160606.H2006>
