Re: [PATCH 0/7] Boot IRQ quirks and rerouting

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Stefan Assmann <sassmann@...>
Cc: Eric W. Biederman <ebiederm@...>, Olaf Dabrunz <od@...>, Thomas Gleixner <tglx@...>, Ingo Molnar <mingo@...>, H. Peter Anvin <hpa@...>, <linux-kernel@...>
Date: Wednesday, June 4, 2008 - 2:57 pm

On Wed, 2008-06-04 at 13:33 +0200, Stefan Assmann wrote:


Usually, it's a *really* ugly combo of devices too. The symptom to this
problem was a large number of test systems that would fall over under
heavy IO after some time. I spent many weeks at the end of last year
trawling through the qla2xxx, megaraid/megasas, and other drivers
looking for the "problem", we even shipped some systems to some of these
hardware folks so they could hook up bus analyzers to see if the
interrupts really were being generated, and a lot more fun.

In the end, because I didn't have the level of information about the
unfortunate implementation of some of these chipsets, I reworked a patch
from Thomas that handles mask/unmask vs. edge->level->edge transition
depending upon PCI quirks for known at-issue bridges. I've been hoping
someone would dig up enough information to actually disable these
horrible "features" so we can get that upstream and into RT.

Meanwhile, I think this really shows that a couple of us who've been
meaning to poke at per-device IRQs should do so once again. This is the
real solution - kill off all those per-IRQ threads, have one per device
and split each IRQ into a "top" and "bottom" (just kidding on the names)
half. Have the first part be *incredibly* small and just return if the
device actually was responsible for the IRQ (and quiesse it), and have
the second part do the heavyweight handling. Since the second part can
run as a thread (and actually sleep for however long, because it's now
per device) - and since we have threaded tasklets and all this on RT
anyway - we can just kill off most of the extra logic in many Linux
interrupt handlers and have just the interrupt thread do the work. 

Anyway, that's the bluesky idea (and rejected OLS 2008 paper :P)...

Jon.


--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 0/7] Boot IRQ quirks and rerouting, Olaf Dabrunz, (Mon Jun 2, 8:45 am)
Re: [PATCH 0/7] Boot IRQ quirks and rerouting, Eric W. Biederman, (Tue Jun 3, 10:35 pm)
Re: [PATCH 0/7] Boot IRQ quirks and rerouting, Stefan Assmann, (Wed Jun 4, 5:49 am)
Re: [PATCH 0/7] Boot IRQ quirks and rerouting, Jon Masters, (Wed Jun 4, 2:44 pm)
Re: [PATCH 0/7] Boot IRQ quirks and rerouting, Eric W. Biederman, (Wed Jun 4, 6:45 am)
Re: [PATCH 0/7] Boot IRQ quirks and rerouting, Olaf Dabrunz, (Wed Jun 4, 7:37 am)
Re: [PATCH 0/7] Boot IRQ quirks and rerouting, Stefan Assmann, (Wed Jun 4, 7:33 am)
Re: [PATCH 0/7] Boot IRQ quirks and rerouting, Jon Masters, (Wed Jun 4, 2:57 pm)
Re: [PATCH 0/7] Boot IRQ quirks and rerouting, Maciej W. Rozycki, (Wed Jun 4, 3:19 pm)
Re: [PATCH 0/7] Boot IRQ quirks and rerouting, Jon Masters, (Wed Jun 4, 3:59 pm)
Re: [PATCH 0/7] Boot IRQ quirks and rerouting, Maciej W. Rozycki, (Wed Jun 4, 6:07 pm)
Re: [PATCH 0/7] Boot IRQ quirks and rerouting, Jon Masters, (Wed Jun 4, 6:27 pm)
Re: [PATCH 0/7] Boot IRQ quirks and rerouting, Maciej W. Rozycki, (Wed Jun 4, 7:08 pm)
Re: [PATCH 0/7] Boot IRQ quirks and rerouting, Maciej W. Rozycki, (Wed Jun 4, 11:52 am)
Re: [PATCH 0/7] Boot IRQ quirks and rerouting, Thomas Gleixner, (Wed Jun 4, 12:08 pm)
Re: [PATCH 0/7] Boot IRQ quirks and rerouting, Maciej W. Rozycki, (Wed Jun 4, 1:18 pm)
Re: [PATCH 0/7] Boot IRQ quirks and rerouting, Thomas Gleixner, (Wed Jun 4, 1:33 pm)
Re: [PATCH 0/7] Boot IRQ quirks and rerouting, Maciej W. Rozycki, (Wed Jun 4, 1:53 pm)
Re: [PATCH 0/7] Boot IRQ quirks and rerouting, Thomas Gleixner, (Wed Jun 4, 2:35 pm)
Re: [PATCH 0/7] Boot IRQ quirks and rerouting, Maciej W. Rozycki, (Wed Jun 4, 2:51 pm)
Re: [PATCH 0/7] Boot IRQ quirks and rerouting, Jon Masters, (Tue Jun 3, 11:52 am)
Re: [PATCH 0/7] Boot IRQ quirks and rerouting, Olaf Dabrunz, (Tue Jun 3, 12:56 pm)
Re: [PATCH 0/7] Boot IRQ quirks and rerouting, Stefan Assmann, (Tue Jun 3, 12:17 pm)
Re: [PATCH 0/7] Boot IRQ quirks and rerouting, Thomas Gleixner, (Tue Jun 3, 6:11 am)
Re: [PATCH 0/7] Boot IRQ quirks and rerouting, Olaf Dabrunz, (Tue Jun 3, 1:08 pm)
Re: [PATCH 0/7] Boot IRQ quirks and rerouting, Olaf Dabrunz, (Tue Jun 3, 6:21 am)
Re: [PATCH 0/7] Boot IRQ quirks and rerouting, Olaf Dabrunz, (Mon Jun 2, 12:43 pm)
[PATCH 3/7] disable legacy boot interrupt generation, Olaf Dabrunz, (Mon Jun 2, 8:45 am)
Re: [PATCH 3/7] disable legacy boot interrupt generation, Thomas Gleixner, (Tue Jun 3, 6:40 am)