From: Thomas Gleixner <tglx@linutronix.de>
To: Russell King <rmk+lkml@arm.linux.org.uk>
Cc: Ingo Molnar <mingo@elte.hu>, Daniel Walker <dwalker@mvista.com>,
LKML <linux-kernel@vger.kernel.org>,
Sven Dietrich <sdietrich@mvista.com>,
Russell King - ARM Linux <linux@arm.linux.org.uk>
Subject: Re: Preempt Real-time for ARM
Date: Wed, 09 Feb 2005 15:07:36 +0100 [thread overview]
Message-ID: <1107958056.17747.70.camel@tglx.tec.linutronix.de> (raw)
In-Reply-To: <20050209125044.A6312@flint.arm.linux.org.uk>
Russell,
On Wed, 2005-02-09 at 12:50 +0000, Russell King wrote:
> > > We have done the conversion to the generic irq handling and it works
> > > fine on a couple of machines.
> >
> > great - this would be a much preferred approach indeed.
>
> Well, I remain unconvinced about the generic irq handling.
>
> This caused major changes throughout all the machine support files,
> and I'm _NOT_, repeat _NOT_ going to consider going back to some
> half baked approach which doesn't really fit the needs of the ARM
> architecture, just because "oh, it's generic." If it doesn't work
> reliably, I'm not interested.
Agreed. Doing it just for the sake of a generic solution is not the
point.
> This is especially so when it impacts so many machines in ways
> specific to each machine, and there's no way to get them tested
> in one go.
Ack.
> If this is to be done, doing it in the middle of a stable kernel series
> is NOT the time or place to do it. I have recently had people complaining
> about the "stability" of 2.6, particularly in relation to changes made by
> other people affecting drivers.
>
> Consider these questions in relation to the generic IRQ code:
>
> 1. Does it know the difference between handling level, edge-based and
> "simple" IRQs? ("simple" IRQs are those which are cascaded, but
> don't have their own individual interrupt mask controls.)
The changes we made to the generic layer in order to make it work on ARM
still call the level/edge/simple handlers.
> 2. Does the generic autoprobe code know which IRQs can be autoprobed
> and which can't? (cascade interrupts are just one example of
> interrupts which must not be autoprobed. There may be other
> reasons you wish to avoid probing other interrupts on a particular
> machine, which the machine support code knows about.)
Makes sense to add this to the generic code anyway.
> 3. Does the generic IRQ code know which IRQs can be claimed and
> which can't? (IRQs 0 to NR_IRQS aren't always claimable, even
> when they appear to be available - iow, desc->handler != &no_irq_type.)
There's a check whether a particular irq has been exclusively allocated
or is available for driver use. Not sure, if it does exactly the same
what you are talking about. Needs to be checked.
> 4. Does it allow per "hw type" retriggering of interrupts, even if the
> hardware itself is not capable of such an action? (and running
> these interrupts at the next hardware interrupt?)
I implemented this basically, but it's not fully tested/functional yet.
> 5. Does it allow control of interrupt wakeup sources?
Are you talking about PM wakeup ? If yes, it is not there, but isn't
this functionality useful for other platforms than ARM too ?
> 6. Does it allow architectures to define their own irq_desc_t so that
> all the data for a particular IRQ is localised and contained within
> one data structure?
Having a generic irq_desc_t with an architecture specific member "struct
arch_irq_desc_t bla;" should do the job.
> In essence, I'm opposed to completely rewriting the ARM interrupt
> handling at this stage.
As expected :)
I accept your decision, but I hope that you are not completely opposed
to discuss a conversion at all, especially as other architectures will
benefit from the necessary changes to the generic code too.
Thanks for the pointers so far.
tglx
next prev parent reply other threads:[~2005-02-09 14:07 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-02-05 18:36 Daniel Walker
2005-02-09 11:28 ` Thomas Gleixner
2005-02-09 11:31 ` Ingo Molnar
2005-02-09 11:53 ` Thomas Gleixner
2005-02-09 12:50 ` Russell King
2005-02-09 14:07 ` Thomas Gleixner [this message]
2005-02-09 17:41 ` Daniel Walker
2005-02-09 19:44 ` Russell King
2005-02-10 8:21 ` Eugeny S. Mints
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1107958056.17747.70.camel@tglx.tec.linutronix.de \
--to=tglx@linutronix.de \
--cc=dwalker@mvista.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=mingo@elte.hu \
--cc=rmk+lkml@arm.linux.org.uk \
--cc=sdietrich@mvista.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®