mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Liu, Chuansheng" <chuansheng.liu@intel.com>
To: anish singh <anish198519851985@gmail.com>
Cc: "'linux-kernel@vger.kernel.org' (linux-kernel@vger.kernel.org)" 
	<linux-kernel@vger.kernel.org>,
	"tglx@linutronix.de" <tglx@linutronix.de>
Subject: RE: [PATCH] genirq: Add the IRQS_ONESHOT support for edge interrupt
Date: Tue, 18 Sep 2012 04:51:19 +0000	[thread overview]
Message-ID: <27240C0AC20F114CBF8149A2696CBE4A181E13@SHSMSX101.ccr.corp.intel.com> (raw)
In-Reply-To: <CAK7N6vqKp0Tcdr0CP4grq12C8-Oe05+uCEyos=mLMitwpet+Zw@mail.gmail.com>

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="utf-8", Size: 2291 bytes --]

> Just curios about the problem you are facing without this code?
The issue I meet is in my calling request_threaded_irq()[edge interrupt], even with IRQS_ONESHOT,
When irq thread is handling, the interrupt is still coming, and the primary handler is called,
It cause possible spin recursive locks if irq handler and irq thread use the same spin lock.

> -----Original Message-----
> From: anish singh [mailto:anish198519851985@gmail.com]
> Sent: Tuesday, September 18, 2012 12:31 PM
> To: Liu, Chuansheng
> Subject: Re: [PATCH] genirq: Add the IRQS_ONESHOT support for edge interrupt
> 
> On Tue, Sep 18, 2012 at 6:24 PM, Chuansheng Liu
> <chuansheng.liu@intel.com> wrote:
> > In handle_edge_irq(), currently do not care about the flag IRQS_ONESHOT,
> > but there are many edge interrupt handler with irq thread need it indeed,
> > so implement here.
> Just curios about the problem you are facing without this code?
> >
> > Signed-off-by: liu chuansheng <chuansheng.liu@intel.com>
> > ---
> >  kernel/irq/chip.c |    8 +++++++-
> >  1 files changed, 7 insertions(+), 1 deletions(-)
> >
> > diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c
> > index eebd6d5..8e4e49a 100644
> > --- a/kernel/irq/chip.c
> > +++ b/kernel/irq/chip.c
> > @@ -497,7 +497,13 @@ handle_edge_irq(unsigned int irq, struct irq_desc
> *desc)
> >         kstat_incr_irqs_this_cpu(irq, desc);
> >
> >         /* Start handling the irq */
> > -       desc->irq_data.chip->irq_ack(&desc->irq_data);
> > +       if (desc->istate & IRQS_ONESHOT) {
> > +               mask_ack_irq(desc);
> > +               handle_irq_event(desc);
> > +               cond_unmask_irq();
> > +               goto out_unlock;
> > +       } else
> > +               desc->irq_data.chip->irq_ack(&desc->irq_data);
> >
> >         do {
> >                 if (unlikely(!desc->action)) {
> > --
> > 1.7.0.4
> >
> >
> >
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > Please read the FAQ at  http://www.tux.org/lkml/
ÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éݶ\x17¥Šwÿº{.nÇ+‰·¥Š{±þG«éÿŠ{ayº\x1dʇڙë,j\a­¢f£¢·hšïêÿ‘êçz_è®\x03(­éšŽŠÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?™¨è­Ú&£ø§~á¶iO•æ¬z·švØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?–I¥

  parent reply	other threads:[~2012-09-18  4:51 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-18 12:54 Chuansheng Liu
     [not found] ` <CAK7N6vqKp0Tcdr0CP4grq12C8-Oe05+uCEyos=mLMitwpet+Zw@mail.gmail.com>
2012-09-18  4:51   ` Liu, Chuansheng [this message]
2012-09-18  7:13     ` anish singh
2012-09-18  7:18       ` Liu, Chuansheng
2012-09-18  7:21       ` Liu, Chuansheng
2012-09-18  9:08         ` anish singh
2012-09-18 13:57 ` Chuansheng Liu

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=27240C0AC20F114CBF8149A2696CBE4A181E13@SHSMSX101.ccr.corp.intel.com \
    --to=chuansheng.liu@intel.com \
    --cc=anish198519851985@gmail.com \
    --cc=linux-kernel@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

all inboxes | Powered by JetHome®