lkml.org 
[lkml]   [2010]   [Mar]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [patch 3/3] genirq: introduce IRQF ALLOW NESTED flag for request irq()
    Date
    From
    On Sat, 13 Mar 2010 20:56:19 +0100 (CET), Thomas Gleixner
    <tglx@linutronix.de> wrote:

    Hi Thomas,

    > In general I have no objections, but one thing bothers me. We have no
    > way to let a driver know whether it runs in a nested threaded context
    > or in hard irq context. There might be (future) drivers which would be
    > happy to know that to apply context dependent optimizations etc.
    >
    > What about a new function which solves your problem and returns that
    > information ? Something along the line:
    >
    > int request_any_context_irq(....)
    > {
    > ...
    > if (desc->status & IRQ_NESTED_THREAD) {
    > ret = request_threaded_irq();
    > if (!ret)
    > ret = IRQ_IS_NESTED;
    >
    > } else {
    > .....
    > ret = IRQ_IS_NONTHREADED;
    > else
    > ret = IRQ_IS_THREADED;
    >
    > }
    > ...
    > return ret;
    > }
    >
    > You get the idea, right ?
    >
    > It's a bit more code, but less magic and more flexible for further use
    > cases.

    What about the attached (sorry, webmail crap) patch? I deliberately left
    IS_THREADED out of the picture, as I have the feeling that the caller has
    to know if it really wants a threaded handler, and I couldn't see a way to
    guess its intent.

    Please note that this patch has only been compile-tested, as I'm traveling
    for the rest of the week and don't have access to my boards.

    Thanks,

    M.
    --
    Who you jivin' with that Cosmik Debris?
    \
     
     \ /
      Last update: 2010-03-16 09:39    [W:0.056 / U:177.644 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site