From: Thomas Gleixner <tglx@linutronix.de>
To: Marc Zyngier <marc.zyngier@arm.com>
Cc: Leo Li <pku.leo@gmail.com>, Marc Zyngier <maz@misterjones.org>,
lkml <linux-kernel@vger.kernel.org>
Subject: Re: recommended use of request_any_context_irq()
Date: Thu, 22 Sep 2016 11:29:26 +0200 (CEST) [thread overview]
Message-ID: <alpine.DEB.2.20.1609221125500.5599@nanos> (raw)
In-Reply-To: <57E391E0.6020202@arm.com>
On Thu, 22 Sep 2016, Marc Zyngier wrote:
> On 21/09/16 22:14, Leo Li wrote:
> > Hi Marc and Thomas,
> >
> > With the introduction of request_any_context_irq() routine, driver can
> > deal with interrupt controllers using either threaded irq or normal
> > irq. But I don't see many drivers that have been changed to use this
> > function to request interrupt. For on-board devices, the driver
> > normally don't know which kind of interrupt controller they are
> > connected to. Why don't we make the request_any_context_irq()
> > mandatory or recommended for all drivers? Is there any drawback for
> > changing all the request_irq() to the request_any_context_irq()?
>
> In 99.99% of the cases, a device is integrated in one particular way,
> always. For the 0.01% that is left, we have the above API. And if a
> particular device moves from the first category to the second, whoever
> designed the system will change the driver to use this API, and that
> driver only.
>
> There is strictly no reason to perform a blanket change of all the
> drivers. What would be the reason to change them other than to cater for
> a contrived use case that may never happen?
Aside of that this API is explicitely returning the context type so a
driver can accomodate in which context it runs.
And the difference is not plain interupt or threaded. The difference is
plain interrupt or nested thread. Nested threading happens when the device
sits behind a demultiplex interrupt device, where the demultiplex handler
runs in a thread. So the device handler can reuse the thread context of the
demultiplex handler.
Thanks,
tglx
next prev parent reply other threads:[~2016-09-22 9:31 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-21 21:14 Leo Li
2016-09-22 8:10 ` Marc Zyngier
2016-09-22 9:29 ` Thomas Gleixner [this message]
2016-09-22 20:38 ` Leo Li
2016-09-22 20:47 ` Thomas Gleixner
2016-09-22 21:52 ` Leo Li
2016-09-22 22:03 ` Thomas Gleixner
2016-09-23 18:33 ` Leo Li
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=alpine.DEB.2.20.1609221125500.5599@nanos \
--to=tglx@linutronix.de \
--cc=linux-kernel@vger.kernel.org \
--cc=marc.zyngier@arm.com \
--cc=maz@misterjones.org \
--cc=pku.leo@gmail.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®