Re: IRQF_DISABLED problem

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Matthew Wilcox <matthew@...>
Cc: Ingo Molnar <mingo@...>, <linux-kernel@...>
Date: Thursday, July 26, 2007 - 4:41 pm

On Thu, 26 Jul 2007, Matthew Wilcox wrote:

You can't really share an interrupt handler that wants to run with 
interrupts on with one that wants to run with them off.

That said, I think the whole IRQF_DISABLED thing should go away. It is 
total legacy crud, methinks - it used to be SA_INTERRUPT, and it's always 
worked the way IRQF_DISABLED works now: it only looks at the first one in 
the chain.


I think you should just consider it to be a "if you mix them, you get 
randomr results".


There really is no excuse for using IRQF_DISABLED unless you're something 
like a system device (like the timer interrupt or similar) and you have an 
exclusive irq handler. A SCSI driver almost certainly has no business 
doing it.

Generally, I would say that "IRQF_DISABLED | IRQF_SHARED" is an insane 
combination, but a quick grep shows that it's distressingly common.

The real fix is to just leave it as it is. It's always worked that way. 
IRQF_DISABLED basically cannot have any sane behaviour in the presense of 
mixing.

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

Messages in current thread:
IRQF_DISABLED problem, Matthew Wilcox, (Thu Jul 26, 4:13 pm)
Re: IRQF_DISABLED problem, Linus Torvalds, (Thu Jul 26, 4:41 pm)
Re: IRQF_DISABLED problem, David Miller, (Thu Jul 26, 6:23 pm)
Re: IRQF_DISABLED problem, Linus Torvalds, (Thu Jul 26, 7:04 pm)
Re: IRQF_DISABLED problem, Linus Torvalds, (Thu Jul 26, 7:17 pm)
Re: IRQF_DISABLED problem, Arjan van de Ven, (Fri Jul 27, 4:11 pm)
Re: IRQF_DISABLED problem, David Miller, (Fri Jul 27, 4:50 pm)
Re: IRQF_DISABLED problem, David Miller, (Thu Jul 26, 7:14 pm)