Thread (5 messages) 5 messages, 2 authors, 2016-10-07

Re: Clarification about IRQ terminology

From: Joel Fernandes <hidden>
Date: 2016-10-07 15:57:38

On Fri, Oct 7, 2016 at 3:32 AM, Sebastian Andrzej Siewior
[off-list ref] wrote:
On 2016-10-06 20:15:16 [-0700], Joel Fernandes wrote:
quoted
Hi Sebastian,
Hi Joel,
quoted
quoted
quoted
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.
But with threaded interrupts, you do have a handler that wakes up the
thread. In this case there are 2 handlers, one handler executes in
interrupt context and wakes up the thread, and the other runs in the
thread. In this case, the term "interrupt handler" is confusing since
it isn't clear which handler we're referring to. "hard interrupt
handler" is also confusing - since if hard means "hardware", then
technically the thread is also a "hard interrupt handler" since the
interrupt line is masked (forced threaded interrupts are also one
shot) till the thread clears the interrupt reason.
so what is your point? You still have a primary handler and a secondary
/ threaded handler.
My point is its hard (no pun intended) to find a set of terms to
describe a handler to clearly define its context (interrupt vs process
context). I see "hard IRQ handler" mentioned in different
documentation referring to interrupt context but as we discussed this
isn't the case.

Thanks for referring to primary and secondary, I will use these to
differentiate between the 2 handlers. :)
In -RT (!RT, too but I am not 100% sure) we can have three. Now I leave
it to your research to figure out when this might happen :)
I guess primary and secondary also don't accurately describe context
anymore because of force threading of primary handlers [1] (which I
think is what you meant about having 3 handlers? :)) so I will just be
explicit about the context if I need to mention it in conversation. So
like "threaded primary handler".

Thanks,
Joel

[1] https://lkml.org/lkml/2015/9/21/124
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help