From: Thomas Gleixner <tglx@linutronix.de>
To: David Miller <davem@davemloft.net>
Cc: yong.zhang0@gmail.com, linux-kernel@vger.kernel.org,
mingo@elte.hu, joe@perches.com, sparclinux@vger.kernel.org
Subject: Re: [PATCH 20/62] sparc: irq: Remove IRQF_DISABLED
Date: Wed, 7 Sep 2011 19:33:52 +0200 (CEST) [thread overview]
Message-ID: <alpine.LFD.2.02.1109071933080.2723@ionos> (raw)
In-Reply-To: <alpine.LFD.2.02.1109071924510.2723@ionos>
On Wed, 7 Sep 2011, Thomas Gleixner wrote:
> On Wed, 7 Sep 2011, David Miller wrote:
>
> > From: Yong Zhang <yong.zhang0@gmail.com>
> > Date: Wed, 7 Sep 2011 16:10:17 +0800
> >
> > > This flag is a NOOP and can be removed now.
> > >
> > > Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
> >
> > How are things working now, if that is the case?
> >
> > Specifically in the ldc_bind() case, we're passing iRQF_DISABLED here
> > so that the IRQ is not turned on when we request the IRQ, we later do
> > enable_irq() on these after we've take the spinlock in this function.
> >
> > The IRQ cannot be allowed to be delivered between the request_irq()
> > call and the enable_irq() calls.
> >
> > This sequence is necessary to deal with some lock ordering issues.
>
> IRQF_DISABLED was telling the core code that the interrupt must run
> with interrupts disabled. As we enforced running all handlers with
> interrupts disabled the flag is meaningless. It was defined as 0
> anyway.
>
> What you need to prevent that request_irq() enables the interrupt
> unconditionally, is to set IRQ_NOAUTOEN on the interrupt, which can't
> be handed in to request_irq(). You want to call
>
> irq_set_status_flags(irq, IRQ_NOAUTOEN);
>
> for that irq. That tells request_irq() to leave the interrupt disabled
> and you have to explicitely enable it. That has not changed since we
> generalized the irq core code back in 2006.
If that's an issue, then we can create an IRQF_NOAUTOEN flag, which
can be handed into request_irq().
Thanks,
tglx
next prev parent reply other threads:[~2011-09-07 17:33 UTC|newest]
Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1315383059-3673-1-git-send-email-yong.zhang0@gmail.com>
2011-09-07 8:10 ` [PATCH 13/62] microblaze: irq: Remove IRQF_DISABLED Yong Zhang
2011-09-07 8:10 ` [PATCH 17/62] powerpc: " Yong Zhang
2011-09-08 16:41 ` Arnd Bergmann
2011-09-07 8:10 ` [PATCH 18/62] score: " Yong Zhang
2011-09-07 8:10 ` [PATCH 24/62] xtensa: " Yong Zhang
2011-09-07 8:10 ` [PATCH 38/62] Input: " Yong Zhang
2011-09-07 23:21 ` Dmitry Torokhov
2011-09-07 8:10 ` [PATCH 39/62] ISDN: " Yong Zhang
[not found] ` <1315383059-3673-30-git-send-email-yong.zhang0@gmail.com>
2011-09-07 14:26 ` [PATCH 29/62] block: " Miller, Mike (OS Dev)
[not found] ` <1315383059-3673-34-git-send-email-yong.zhang0@gmail.com>
2011-09-07 15:02 ` [PATCH 33/62] dmaengine: " Vinod Koul
2011-09-11 21:38 ` Linus Walleij
[not found] ` <1315383059-3673-52-git-send-email-yong.zhang0@gmail.com>
2011-09-07 17:04 ` [PATCH 51/62] powerpc/ps3: " Geoff Levand
[not found] ` <1315383059-3673-21-git-send-email-yong.zhang0@gmail.com>
2011-09-07 17:12 ` [PATCH 20/62] sparc: " David Miller
2011-09-07 17:31 ` Thomas Gleixner
2011-09-07 17:33 ` Thomas Gleixner [this message]
2011-09-07 17:51 ` David Miller
2011-09-07 17:57 ` Thomas Gleixner
2011-09-07 18:14 ` David Miller
2011-09-07 18:43 ` Thomas Gleixner
2011-09-08 3:15 ` Yong Zhang
[not found] ` <1315383059-3673-61-git-send-email-yong.zhang0@gmail.com>
2011-09-07 17:12 ` [PATCH 60/62] sound: " Mark Brown
[not found] ` <1315383059-3673-54-git-send-email-yong.zhang0@gmail.com>
2011-09-07 17:37 ` [PATCH 53/62] spi: " Grant Likely
[not found] ` <1315383059-3673-6-git-send-email-yong.zhang0@gmail.com>
2011-09-07 20:29 ` [PATCH 05/62] avr32: " Hans-Christian Egtvedt
[not found] ` <1315383059-3673-13-git-send-email-yong.zhang0@gmail.com>
2011-09-08 3:18 ` [PATCH 12/62] m64k: " Greg Ungerer
2011-09-09 15:05 ` Geert Uytterhoeven
2011-09-10 2:01 ` Yong Zhang
[not found] ` <1315383059-3673-7-git-send-email-yong.zhang0@gmail.com>
2011-09-08 8:12 ` [uclinux-dist-devel] [PATCH 06/62] Blackfin: " Bob Liu
[not found] ` <1315383059-3673-26-git-send-email-yong.zhang0@gmail.com>
2011-09-08 10:40 ` [PATCH 25/62] staging: " Marc Dietich
2011-09-08 13:58 ` Yong Zhang
2011-09-08 14:52 ` Greg KH
2011-09-09 1:12 ` Yong Zhang
[not found] ` <1315383059-3673-3-git-send-email-yong.zhang0@gmail.com>
2011-09-08 10:53 ` [RFC] [PATCH 02/62] mpu401:snd_mpu401_uart_new(): split semantic of irq_flags Clemens Ladisch
2011-09-08 13:37 ` Yong Zhang
2011-09-08 13:58 ` Clemens Ladisch
2011-09-08 14:45 ` Yong Zhang
2011-09-08 20:27 ` Clemens Ladisch
2011-09-09 1:31 ` Yong Zhang
2011-09-11 15:10 ` Clemens Ladisch
2011-09-12 10:47 ` Takashi Iwai
2011-09-12 13:16 ` Clemens Ladisch
2011-09-12 20:23 ` Clemens Ladisch
2011-09-13 7:12 ` Takashi Iwai
2011-09-13 8:17 ` Clemens Ladisch
2011-09-13 9:24 ` Clemens Ladisch
2011-09-14 8:49 ` Yong Zhang
2011-09-14 9:06 ` Takashi Iwai
2011-09-14 9:15 ` Yong Zhang
[not found] ` <1315383059-3673-32-git-send-email-yong.zhang0@gmail.com>
2011-09-08 10:55 ` [PATCH 31/62] driver/char: irq: Remove IRQF_DISABLED Clemens Ladisch
2011-09-08 15:29 ` Corey Minyard
2011-09-08 16:04 ` Arnd Bergmann
[not found] ` <1315383059-3673-62-git-send-email-yong.zhang0@gmail.com>
2011-09-08 21:38 ` [PATCH 61/62] Documentation: irq: Change documents related to IRQF_DISABLED Randy Dunlap
2011-09-09 1:38 ` Yong Zhang
2011-09-09 1:48 ` [UPDATED] " Yong Zhang
2011-09-09 8:25 ` Rolf Eike Beer
2011-09-09 8:41 ` Yong Zhang
[not found] ` <1315383059-3673-37-git-send-email-yong.zhang0@gmail.com>
2011-09-09 7:59 ` [PATCH 36/62] i2c: irq: Remove IRQF_DISABLED Wolfram Sang
2011-09-11 21:36 ` Linus Walleij
2011-09-19 8:44 ` Barry Song
[not found] ` <1315383059-3673-59-git-send-email-yong.zhang0@gmail.com>
2011-09-09 8:01 ` [PATCH 58/62] watchdog: " Wolfram Sang
2011-09-11 21:37 ` Linus Walleij
[not found] ` <1315383059-3673-45-git-send-email-yong.zhang0@gmail.com>
2011-09-09 8:03 ` [PATCH 44/62] mtd: " Wolfram Sang
[not found] ` <1315383059-3673-48-git-send-email-yong.zhang0@gmail.com>
2011-09-09 8:04 ` [PATCH 47/62] pcmcia: " Wolfram Sang
[not found] ` <1315383059-3673-55-git-send-email-yong.zhang0@gmail.com>
2011-09-09 9:49 ` [PATCH 54/62] TTY: " Tobias Klauser
2011-09-22 23:04 ` Greg KH
2011-09-22 23:08 ` Greg KH
[not found] ` <1315383059-3673-8-git-send-email-yong.zhang0@gmail.com>
2011-09-09 15:10 ` [PATCH 07/62] cris: " Jesper Nilsson
[not found] ` <1315383059-3673-53-git-send-email-yong.zhang0@gmail.com>
2011-09-11 21:38 ` [PATCH 52/62] rtc: " Linus Walleij
[not found] ` <1315383059-3673-42-git-send-email-yong.zhang0@gmail.com>
2011-09-15 19:57 ` [PATCH 41/62] mfd: " Samuel Ortiz
[not found] ` <1315383059-3673-9-git-send-email-yong.zhang0@gmail.com>
2011-09-20 15:03 ` [PATCH 08/62] frv: " David Howells
[not found] ` <1315383059-3673-16-git-send-email-yong.zhang0@gmail.com>
2011-09-20 15:04 ` [PATCH 15/62] mn10300: " David Howells
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=alpine.LFD.2.02.1109071933080.2723@ionos \
--to=tglx@linutronix.de \
--cc=davem@davemloft.net \
--cc=joe@perches.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=sparclinux@vger.kernel.org \
--cc=yong.zhang0@gmail.com \
/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