vmspace changes to use sysref
walt
wa1ter at myrealbox.com
Tue May 1 03:12:20 PDT 2007
On Mon, 30 Apr 2007, Matthew Dillon wrote:
> Oh, also try with the absolute latest HEAD. I don't think SYSREF
> could have had any effect on the interrupt routing, but the other
> work recently committed certainly could have.
>
> I have some ideas with regards to the livelock issues. If reducing
> the values solves that part of the problem I think we can safely
> boot up with a much lower livelock limits, then increase them
> as part of the RC.
>
> --
>
> The only thing that can cause a large number of stray irq 7's that
> I know of is when the ICU is used (no APIC_IO), and the BIOS fails
> to program the hardware to route the ICU interrupts to just one of
> the cpu's. If interrupts go to both cpu's then both cpu's try to
> ack the INTA cycle and one of the cpu's will always get a stray
> interrupt vector (which is usually irq 7). On AMD boxes that can be
> fixed. I'm not sure how to do it on Intel boxes.
>
> What I'd like to know regarding the stray irq 7 is whether you ever
> used the ICU with older kernels running on this particular box,
> or whether you just always used APIC_IO. It might not be a 'new'
> issue for your box with that particular combination (i.e. not created
> by recent commits).
Good news: after updating sources just now, the new kernel no longer hangs
with the scanner plugged in. With ACPI disabled I now see a few hundred of
those stray interrupt 7's and then the boot continues normally. I tried
booting my previous kernel with ACPI disabled and saw no stray interrupts.
This situation is so much better than yesterday I think I'll wait to see
if you still want more info before messing with the livelock limits.
This is the dmesg from today's kernel with ACPI disabled:
usb3: companion controllers, 2 ports each: usb0 usb1 usb2
intr 3 at 50001 > 50000 hz, livelocked limit engaged!
usb3: <VIA VT6202 USB 2.0 controller> on ehci0
usb3: USB revision 2.0
sched_ithd: stray interrupt 7 on cpu 0
sched_ithd: stray interrupt 7 on cpu 0
sched_ithd: stray interrupt 7 on cpu 0
sched_ithd: stray interrupt 7 on cpu 0
sched_ithd: stray interrupt 7 on cpu 0
sched_ithd: stray interrupt 7 on cpu 0
sched_ithd: stray interrupt 7 on cpu 0
sched_ithd: stray interrupt 7 on cpu 0
sched_ithd: stray interrupt 7 on cpu 0
sched_ithd: stray interrupt 7 on cpu 0
sched_ithd: stray interrupt 7 on cpu 0
sched_ithd: stray interrupt 7 on cpu 0
uscanner0: at uhub1 port 2 (addr 2) disconnected
uscanner: ops removed
uscanner0: detached
sched_ithd: stray interrupt 7 on cpu 0
sched_ithd: stray interrupt 7 on cpu 0
sched_ithd: stray interrupt 7 on cpu 0
sched_ithd: stray interrupt 7 on cpu 0
sched_ithd: stray interrupt 7 on cpu 0
sched_ithd: stray interrupt 7 on cpu 0
sched_ithd: stray interrupt 7 on cpu 0
sched_ithd: stray interrupt 7 on cpu 0
uhub3: 6 ports with 6 removable, self powered
sched_ithd: stray interrupt 7 on cpu 0
<several hundred more strays snipped>
sched_ithd: stray interrupt 7 on cpu 0
intr 3 at 7376 < 20000 hz, livelock removed
and the boot continues normally from here. (I see these stray
interrupts only with ACPI disabled.)
BTW, this is a single-CPU machine, so I don't use APIC_IO in
my custom kernel.
I'd be happy to experiment with the livelock limits if you
still want the info.
Thanks!
More information about the Kernel
mailing list