Re: 9 hangs with idletick = 0

From: Alexander Motin <mav_at_FreeBSD.org>
Date: Wed, 28 Sep 2011 15:51:56 +0300
Dag-Erling Smørgrav wrote:
> I have a box running a GENERIC kernel from September 25th that freezes
> completely for a few seconds, up to a minute or so, at random intervals.
> Sooner or later it freezes permanently (or at least longer than I am
> willing to wait for it to unfreeze) and must be power-cycled, as it does
> not respond to Ctrl+Alt+Esc.  Network activity (such as downloading ISO
> images over a 6 Mbps DSL line) seems to aggravate the issue.  The
> problem goes away if I enable idletick.
> 
> I had the same problems with a slightly customized kernel (basically
> GENERIC with unused drivers removed) built from September 10th sources;
> I switched to GENERIC to eliminate the possibility that my kernel config
> was to blame.
> 
> Prior to that, the machine ran a kernel with the same custom config
> built from April 27th sources without any trouble whatsoever, so the
> issue must have been introduced sometime between April 27th and
> September 10th.
> 
> The machine is an Intel Core 2 Duo E6600 with 4 GB RAM.
> 
> Relevant sysctls:
> 
> kern.eventtimer.choice: HPET(450) HPET1(440) HPET2(440) LAPIC(400) i8254(100) RTC(0)
> kern.eventtimer.et.LAPIC.flags: 15
> kern.eventtimer.et.LAPIC.frequency: 0
> kern.eventtimer.et.LAPIC.quality: 400
> kern.eventtimer.et.HPET.flags: 3
> kern.eventtimer.et.HPET.frequency: 14318180
> kern.eventtimer.et.HPET.quality: 450
> kern.eventtimer.et.HPET1.flags: 3
> kern.eventtimer.et.HPET1.frequency: 14318180
> kern.eventtimer.et.HPET1.quality: 440
> kern.eventtimer.et.HPET2.flags: 3
> kern.eventtimer.et.HPET2.frequency: 14318180
> kern.eventtimer.et.HPET2.quality: 440
> 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: HPET
> kern.eventtimer.idletick: 1
> kern.eventtimer.singlemul: 2
> kern.timecounter.tick: 1
> kern.timecounter.choice: TSC-low(1000) i8254(0) HPET(950) ACPI-fast(900) dummy(-1000000)
> kern.timecounter.hardware: TSC-low
> kern.timecounter.stepwarnings: 0
> kern.timecounter.tc.ACPI-fast.mask: 16777215
> kern.timecounter.tc.ACPI-fast.counter: 6800584
> kern.timecounter.tc.ACPI-fast.frequency: 3579545
> kern.timecounter.tc.ACPI-fast.quality: 900
> kern.timecounter.tc.HPET.mask: 4294967295
> kern.timecounter.tc.HPET.counter: 3991486344
> kern.timecounter.tc.HPET.frequency: 14318180
> kern.timecounter.tc.HPET.quality: 950
> kern.timecounter.tc.i8254.mask: 65535
> kern.timecounter.tc.i8254.counter: 27169
> kern.timecounter.tc.i8254.frequency: 1193182
> kern.timecounter.tc.i8254.quality: 0
> kern.timecounter.tc.TSC-low.mask: 4294967295
> kern.timecounter.tc.TSC-low.counter: 4021161618
> kern.timecounter.tc.TSC-low.frequency: 9375191
> kern.timecounter.tc.TSC-low.quality: 1000
> kern.timecounter.smp_tsc: 1
> kern.timecounter.invariant_tsc: 1

I am surprised that system doesn't react on keyboard. If something
happen to the event timer, then system should get time and interactivity
problems, but not freeze completely.

> Let me know if you need anything else.  I can try to bisect, but it will
> take time since the freezes are tricky to reproduce.

The only change in event timers in last months I remember was in SVN rev
224919. You may try to revert it. But it was supposed to fix rare
problem, not create new. I am not sure how can it harm.

If short freezes you've descrived happens often enough, you may try to
log them down with enabling KTR_SPARE2 ktr event type and disabling
logging within few seconds after such freeze happened.

-- 
Alexander Motin
Received on Wed Sep 28 2011 - 10:52:05 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:18 UTC