Russell King wrote:
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/

Reply via email to