From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
To: Joel Fernandes <agnel.joel@gmail.com>
Cc: linux-rt-users@vger.kernel.org,
Thomas Gleixner <tglx@linutronix.de>,
Linus Walleij <linus.walleij@linaro.org>
Subject: Re: Clarification about IRQ terminology
Date: Thu, 6 Oct 2016 11:07:02 +0200 [thread overview]
Message-ID: <20161006090702.no7idjvqxjl7yqjz@linutronix.de> (raw)
In-Reply-To: <CAD=GYpbv_okzpb22bHgmQZDhJzkyy+yJk_ZMaOc25e9Gks0A=w@mail.gmail.com>
On 2016-10-05 23:07:55 [-0700], Joel Fernandes wrote:
> Just to clarify and use the right terminology, I'd like to understand
> whether the "hard" in hard irq implies interrupt context?
it usually does.
> To further confuse the matter, with CONFIG_PREEMPT_RT_FULL, all IRQs
> previously executing in interrupt context are now threaded. Then in
not all but most. And also in !RT with the threadirqs command line
argument.
> this scenario, is it Ok to still call these irq handlers as hard irq
> handlers or should they now be strictly called threaded interrupt
> handlers now that the same handlers are forced to execute in a thread?
If they are threaded, they are threaded. A threaded handler can be
interrupted by an interrupt because it is invoked with interrupts
enabled. A non-threaded handler can not be interrupted.
> If the "hard" in hard irq means hardware interrupt, then it would make
> sense to still call them hardirq handlers even though they're now
> executing in process context?
you call them interrupt handler. You can request *explicit* a threaded
handler if your code needs to sleep (in order to reach hardware behind a
slow bus like i2c).
> So basically my questions are:
> 1. Does hard in hard irq mean hardware interrupt or does it imply
> interrupt context?
I would drop that hard part. It is an interrupt handler. It then can be
either threaded or not and it can be always threaded or sometimes.
hard is used to distinguish this kind of interrupts from the soft-irqs.
> 2. Can the terms "hard irq handler" still be used with CONFIG_PREEMPT_RT_FULL?
not all interrupts are threaded. perf and timer are just two examples of
interrupts which are never threaded. So some interrupts are handled with
interrupts disabled and some with interrupts enabled.
> Thanks a lot,
>
> Joel
Sebastian
next prev parent reply other threads:[~2016-10-06 9:07 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-06 6:07 Clarification about IRQ terminology Joel Fernandes
2016-10-06 9:07 ` Sebastian Andrzej Siewior [this message]
2016-10-07 3:15 ` Joel Fernandes
2016-10-07 10:32 ` Sebastian Andrzej Siewior
2016-10-07 15:57 ` Joel Fernandes
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=20161006090702.no7idjvqxjl7yqjz@linutronix.de \
--to=bigeasy@linutronix.de \
--cc=agnel.joel@gmail.com \
--cc=linus.walleij@linaro.org \
--cc=linux-rt-users@vger.kernel.org \
--cc=tglx@linutronix.de \
/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;
as well as URLs for NNTP newsgroup(s).