Re: Nobody cared about IRQs at shutdown

From: Alexander E. Patrakov
Date: Wed Dec 01 2010 - 12:32:55 EST


01.12.2010 19:59, Alan Stern ÐÐÑÐÑ:
On Wed, 1 Dec 2010, Alexander E. Patrakov wrote:

Alan Stern wrote:
On Tue, 30 Nov 2010, Alexander E. Patrakov wrote:

In fact, I think that there is something bad, not specific to USB,
FireWire or SATA. Without systemd, all those subsystems function
properly at shutdown. With systemd, it looks like there are many
mishandled interrupts (all of USB, FireWire and SATA) at shutdown.
Whatà à could be this common thing? ACPI?
I don't know -- what is systemd?
Systemd is a new init developed by Lennart Poettering. You can learn more at http://freedesktop.org/wiki/Software/systemd

It employs high concurrency in starting and stopping services, starts many things on demand and thus boots faster than the traditional SysV init. And also exposes this bug :(
All right.

One last test. What happens if you unbind the firewire driver and all
the UHCI controllers except the one attached to IRQ 16?

As I was not sure if you mean 16 or 19, I did two tests. In both cases, the firewire driver and all UHCI controllers except one were unbound. In both cases, the system printed the line I added to uhci_hc_died(), reported a bad IRQ (16 and 19, respectively), waited, displayed SATA errors, waited again, and powered itself off. I.e., the screenshot is nearly identical to what I sent earlier.


Possible explanations: IRQs are being misrouted, so the system thinks
it gets IRQ 16 when in fact a different interrupt line was activated
(this is related to ACPI, but I don't see any connection to systemd).
Or the interrupt layer is malfunctioning and it thinks IRQs are
arriving when they aren't.

I forgot to mention that only shutdown is problematic, reboots are OK.

--
Alexander E. Patrakov
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/