lkml.org 
[lkml]   [2009]   [Feb]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [patch 3/4] genirq: add a quick check handler
On Thu, 26 Feb 2009, Andrew Morton wrote:
> > enum irqreturn {
> > IRQ_NONE,
> > IRQ_HANDLED,
> > + IRQ_NEEDS_HANDLING,
> > };
>
> The enquiring mind is wondering which of these values the quickcheck
> handler can return. IRQ_NEEDS_HANDLING or IRQ_NONE? Or can it
> legitimately return IRQ_HANDLED? If so, what would that semantically
> mean?

Yes it can return IRQ_HANDLED as well. That means no further action
(calling the slow path handler) is needed.

> I mean, an IRQ handler could easily have a super-fast-path and a slow
> path. It could decide to do the super-fast operation in hard irq
> context and return IRQ_HANDLED, and return IRQ_NEEDS_HANDLING if
> slow-path handling is needed?
>
> It's all a bit unclear and deserves documenting and thinking about.

Yep, I need to sit down and write up documentation.

> > + * @quick_check_handler: Function called before the real interrupt
> > + * handler. It checks if the interrupt originated
> > + * from the device. This can be NULL.
>
> So what semantics are implemented if this pointer is NULL? We just
> assume IRQ_NEEDS_HANDLING?

Correct.

tglx


\
 
 \ /
  Last update: 2009-02-27 00:15    [W:0.425 / U:0.032 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site