On Wed, Feb 09, 2005 at 09:41:10AM -0800, Daniel Walker wrote:
All I want to do is integrate the common IRQ threading code. To do that I need things , from Russell, like per descriptor locks .. And I need things , from Ingo, like pulling out the IRQ threading code..
I've said why per-IRQ locks are incorrect for the non-RT cases on ARM, but unfortunately just repeating the reasons why it's wrong isn't getting me anywhere either. So shrug, all I can to is explain why it's wrong, and if people choose not to listen there's nothing more I can do.
Lets summarize your main arguments from two threads - "irq_controller_lock" and this one:
(sorry, I summarized since I somehow accidently lost traack of "irq_controller_lock" thread and want to be sure I haven't missed anything)
1) if we drop ide_controller_lock we need to add per-chip lock due to read-modify-write issue
true
2) per-descriptor lock will not bring gains since a) SMP - almost nonexistent at the moment
As Daniel said - why not look to the future - did anybody expect 3 month ago RT enchancement for Linux?! progress is too quick - and again from the perspective of SMP - irq_controller_lock is defective.
b) lots of contention on request_irq/free_irq - rare seems true c) multiple devices on the same interrupt line - rare seems true
But in a whole it's not so unambiguously what outweighs - b)&c) against contra a)
3) per chip lock in combination with per descriptor lock a) decreases peformance
why not to lock per-chip lock only for chips indeed require this (i.e. with read/modify/write/) and drop the locking otherwise?!
b) (quoatition):
"Yes, and then audit that no one uses different irqchip structures
covering the same register (consider a read-modify-write mask
register where some IRQs are edge and others are level riggered.)"such a register and a chip have ono-to-one relationship, do they? chip lock is something connected to _the_ chip. The above situation is definitly up to a developer and his own _fault_.
4) ARM IRQs are already "threaded"
As you said: can we _please_ get the terminology right? As Nicolas pointed you were talking about completely different "threaded".
Eugeny
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

