Safe-mode on amd64 broken
David Naylor
naylor.b.david at gmail.com
Thu Sep 30 15:44:10 UTC 2010
On Thursday 30 September 2010 08:52:39 Alexander Motin wrote:
> David Naylor wrote:
> > On Thursday 30 September 2010 07:23:34 Alexander Motin wrote:
> >> David Naylor wrote:
> >>> On Wednesday 29 September 2010 18:25:13 Alexander Motin wrote:
> >>>> David Naylor wrote:
> >>>>> On Wednesday 29 September 2010 16:19:08 Andriy Gapon wrote:
> >>>>>> What do you try to actually achieve?
> >>>>>
> >>>>> I was trying to boot a system and it was panicking due to stray
> >>>>> interrupts. It turned out to be caused by HPET. I found
> >>>>> `hint.hpet.0.clock=0' which fixed the problem.
> >>>>>
> >>>>> This means HPET does not work on any of my machines. The other one's
> >>>>> symptoms are hda losing interrupts after a period of up-time.
> >>>>
> >>>> What chipset do you use? Nvidia MCP5x? Could you send me your verbose
> >>>> dmesg?
> >>>
> >>> Yes, the one is a MCP51, the other is a ICH8M.
> >>>
> >>> The desktop is a Gigabyte N650SLI-DS4L. Its symptom is hda losing
> >>> interrupts after a period of time.
> >>
> >> There are too many reports about different lost interrupts problems on
> >> different controllers of MCP5x. I don't know the reason. Attached patch
> >> should disable using regular HPET interrupts on NVidia chipsets. I hope
> >> it will work as workaround. May be it is too aggressive, but better to
> >> be safe then sorry. I assume that legacy_route mode may still work fine
> >> there. It would be nice to test it.
> >
> > I assume you mean hint.hpet.0.legacy_route=1? I'll give that a try later
> > today on both machines.
>
> Make sure that both attimer and atrtc disabled, as mentioned in hpet(4).
legacy_route worked on the desktop but not on the laptop (boot stalled).
Here is vmstat using default settings for the desktop:
interrupt total rate
irq1: atkbd0 64 0
irq12: psm0 756 3
irq14: ata0 1255 5
irq16: vgapci0 13576 54
irq17: dc0 1546 6
irq18: hpet0 456756 1834
irq20: atapci2 11557 46
irq21: hdac0 ohci0 17038 68
irq23: atapci1 11534 46
Total 514082 2064
I moved hpet to irq22 (allowed_irqs="0x400000") and that also worked for the
desktop.
> > Is your patch the same as hint.hpet.0.clock=0?
>
> By default - effectively yes. But it still allows to configure
> legacy_route, which is, for example, default for Linux.
>
> >>> The laptop is a Acer 2920. Its symptom for a GENERIC is a panic saying
> >>> stray interrupt (irq7), with a custom kernel booting stalls.
> >>
> >> This is strange, as my Acer with the same ICH8M works fine in all
> >> possible modes. Also IMHO stray interrupts are not a reason to panic.
> >> Could you show what it looks like?
> >
> > See http://markmail.org/message/smxnofrdmmkxyvnd for my previous email
> > that includes the backtrace from that panic. When I booted in i386 safe
> > mode the kernel reported stray interrupts on irq7. vmstat -i shows irq7
> > as "stray irq7".
>
> I am not sure "stray irq7" related here. Instead more suspicious looks
> probable irq20 interrupt sharing between HPET and uhci0 and the fact
> that system panicked during interrupt handler registration by uhci0. I
> can't be sure what IRQ was used by HPET there, as in only present dmesg
> it was disabled, but as soon as HPET registered early, I think it
> grabbed first possible - irq20. On my system HPET also uses irq20, but
> uhci0 lives on irq16 and so irq20 is not shared.
On the laptop uhci0 and ehci0 live on irq20.
> To collect more data you may try to hint HPET driver to avoid irq20 by
> setting hint.hpet.0.allowed_irqs=0x00e00000 or other values. I've tried
> same recipy to create sharing on my system, but still found no problem.
This fixes the problem for the laptop. This also allows one-shot timing to
work. Moving hpet to irq22 also worked. Here is the vmstat -i using the
above hint:
interrupt total rate
irq1: atkbd0 407 0
irq9: acpi0 1857 2
irq12: psm0 1005 1
irq14: ata0 1870 2
irq18: uhci4 2183 2
irq20: uhci0 ehci0 2421 3
irq21: hpet0 uhci1 502330 667
irq23: uhci2 ehci1 3 0
irq256: vgapci0 25023 33
irq257: hdac0 236 0
irq258: bge0 79 0
irq259: ahci0 27356 36
Total 564770 750
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: This is a digitally signed message part.
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20100930/7d145909/attachment.pgp
More information about the freebsd-current
mailing list