From: "Uwe Kleine-König" <u.kleine-koenig-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
To: Linus Torvalds
<torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
Cc: Nicolas Pitre
<nicolas.pitre-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
Stephen Rothwell <sfr-3FnU+UHB4dNDw9hX6IcOSA@public.gmane.org>,
Russell King - ARM Linux
<linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>,
Pawel Moll <pawel.moll-5wv7dgnIgG8@public.gmane.org>,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org,
Ingo Molnar <mingo-X9Un+BFzKDI@public.gmane.org>,
LKML <linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
linux-ide-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Randy Dunlap <rdunlap-/UHa2rfvQTnk1uMJSBkQmQ@public.gmane.org>,
linux-next-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Alan Cox <alan-qBU/x9rampVanCEyBjwyrvXRex20P6io@public.gmane.org>,
Anton Vorontsov
<cbouatmailru-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Andrew Morton
<akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>,
Jeff Garzik <jgarzik-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Subject: Re: [PATCH] ata: Don't use NO_IRQ in pata_of_platform driver
Date: Tue, 6 Dec 2011 21:59:55 +0100 [thread overview]
Message-ID: <20111206205955.GH4585@pengutronix.de> (raw)
In-Reply-To: <CA+55aFwZBr+3_S9kU-+m8zN8iwOvn2miuuAy-zt7sUjW_+abBg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
Hello Linus,
On Tue, Dec 06, 2011 at 11:20:49AM -0800, Linus Torvalds wrote:
> On Tue, Dec 6, 2011 at 2:46 AM, Russell King - ARM Linux
> <linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org> wrote:
> >
> > But.. let's make one thing clear: Alan Cox and Linus have been going on
> > about how IRQ0 should not be used. Let's be crystal clear: even x86
> > uses IRQ0.
>
> Not for any device driver, though.
>
> It's used entirely internally, and it doesn't even use
> "request_irq()". It uses the magic internal "setup_irq()" and never
> *ever* exposes irq0 as anything that a driver can see.
>
> That's what matters. You can use irq0 in ARM land all you like, AS
> LONG AS IT'S SOME HIDDEN INTERNAL USE. No drivers. No *nothing* that
> ever uses that absolutely *idiotic* NO_IRQ crap.
>
> In fact, you may be *forced* to use what is "physically" irq0 - it's
> just that you should never expose it as such to drivers. And x86
> doesn't.
>
> So Russell, if you think this has anything to do with NO_IRQ, and how
> x86 isn't doing things right, you're wrong. It's just like the
> internal exception thing, or the magical "cascade interrupt", or the
> "x87 exception mapped through the PIC". They are magic hidden
> interrupts that are set up in one place (well, one place *each*), and
> are never exposed anywhere else.
Well there is try_misrouted_irq in kernel/irq/spurious.c that assumes
irq0 to be something that it never is on ARM (and maybe all other
platforms apart from x86). So at least it's not internal to a single
(x86 specific) place.
I tried to patch that two years ago, but that only ended in people
saying "don't use irq0". I don't know if try_misrouted_irq sees hardware
irqs, but if it does it's a bug even on archs != X86 that use virtual
irqs.
(Note that this doesn't oppose to your statement that using NO_IRQ is
crap.)
> The problem with NO_IRQ is that stupid "we expose our mind-numbingly
> stupid interfaces across the whole kernel".
>
> x86 never did that. ARM still does. x86 doesn't have to fix anything. ARM does.
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |
WARNING: multiple messages have this Message-ID (diff)
From: u.kleine-koenig@pengutronix.de (Uwe Kleine-König)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] ata: Don't use NO_IRQ in pata_of_platform driver
Date: Tue, 6 Dec 2011 21:59:55 +0100 [thread overview]
Message-ID: <20111206205955.GH4585@pengutronix.de> (raw)
In-Reply-To: <CA+55aFwZBr+3_S9kU-+m8zN8iwOvn2miuuAy-zt7sUjW_+abBg@mail.gmail.com>
Hello Linus,
On Tue, Dec 06, 2011 at 11:20:49AM -0800, Linus Torvalds wrote:
> On Tue, Dec 6, 2011 at 2:46 AM, Russell King - ARM Linux
> <linux@arm.linux.org.uk> wrote:
> >
> > But.. let's make one thing clear: Alan Cox and Linus have been going on
> > about how IRQ0 should not be used. ?Let's be crystal clear: even x86
> > uses IRQ0.
>
> Not for any device driver, though.
>
> It's used entirely internally, and it doesn't even use
> "request_irq()". It uses the magic internal "setup_irq()" and never
> *ever* exposes irq0 as anything that a driver can see.
>
> That's what matters. You can use irq0 in ARM land all you like, AS
> LONG AS IT'S SOME HIDDEN INTERNAL USE. No drivers. No *nothing* that
> ever uses that absolutely *idiotic* NO_IRQ crap.
>
> In fact, you may be *forced* to use what is "physically" irq0 - it's
> just that you should never expose it as such to drivers. And x86
> doesn't.
>
> So Russell, if you think this has anything to do with NO_IRQ, and how
> x86 isn't doing things right, you're wrong. It's just like the
> internal exception thing, or the magical "cascade interrupt", or the
> "x87 exception mapped through the PIC". They are magic hidden
> interrupts that are set up in one place (well, one place *each*), and
> are never exposed anywhere else.
Well there is try_misrouted_irq in kernel/irq/spurious.c that assumes
irq0 to be something that it never is on ARM (and maybe all other
platforms apart from x86). So at least it's not internal to a single
(x86 specific) place.
I tried to patch that two years ago, but that only ended in people
saying "don't use irq0". I don't know if try_misrouted_irq sees hardware
irqs, but if it does it's a bug even on archs != X86 that use virtual
irqs.
(Note that this doesn't oppose to your statement that using NO_IRQ is
crap.)
> The problem with NO_IRQ is that stupid "we expose our mind-numbingly
> stupid interfaces across the whole kernel".
>
> x86 never did that. ARM still does. x86 doesn't have to fix anything. ARM does.
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-K?nig |
Industrial Linux Solutions | http://www.pengutronix.de/ |
WARNING: multiple messages have this Message-ID (diff)
From: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Russell King - ARM Linux <linux@arm.linux.org.uk>,
Nicolas Pitre <nicolas.pitre@linaro.org>,
Stephen Rothwell <sfr@canb.auug.org.au>,
Dave Martin <dave.martin@linaro.org>,
Pawel Moll <pawel.moll@arm.com>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
devicetree-discuss@lists.ozlabs.org,
LKML <linux-kernel@vger.kernel.org>,
Jeff Garzik <jgarzik@redhat.com>,
linux-ide@vger.kernel.org, Randy Dunlap <rdunlap@xenotime.net>,
linux-next@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
Anton Vorontsov <cbouatmailru@gmail.com>,
Andrew Morton <akpm@linux-foundation.org>,
Ingo Molnar <mingo@elte.hu>, Alan Cox <alan@lxorguk.ukuu.org.uk>
Subject: Re: [PATCH] ata: Don't use NO_IRQ in pata_of_platform driver
Date: Tue, 6 Dec 2011 21:59:55 +0100 [thread overview]
Message-ID: <20111206205955.GH4585@pengutronix.de> (raw)
In-Reply-To: <CA+55aFwZBr+3_S9kU-+m8zN8iwOvn2miuuAy-zt7sUjW_+abBg@mail.gmail.com>
Hello Linus,
On Tue, Dec 06, 2011 at 11:20:49AM -0800, Linus Torvalds wrote:
> On Tue, Dec 6, 2011 at 2:46 AM, Russell King - ARM Linux
> <linux@arm.linux.org.uk> wrote:
> >
> > But.. let's make one thing clear: Alan Cox and Linus have been going on
> > about how IRQ0 should not be used. Let's be crystal clear: even x86
> > uses IRQ0.
>
> Not for any device driver, though.
>
> It's used entirely internally, and it doesn't even use
> "request_irq()". It uses the magic internal "setup_irq()" and never
> *ever* exposes irq0 as anything that a driver can see.
>
> That's what matters. You can use irq0 in ARM land all you like, AS
> LONG AS IT'S SOME HIDDEN INTERNAL USE. No drivers. No *nothing* that
> ever uses that absolutely *idiotic* NO_IRQ crap.
>
> In fact, you may be *forced* to use what is "physically" irq0 - it's
> just that you should never expose it as such to drivers. And x86
> doesn't.
>
> So Russell, if you think this has anything to do with NO_IRQ, and how
> x86 isn't doing things right, you're wrong. It's just like the
> internal exception thing, or the magical "cascade interrupt", or the
> "x87 exception mapped through the PIC". They are magic hidden
> interrupts that are set up in one place (well, one place *each*), and
> are never exposed anywhere else.
Well there is try_misrouted_irq in kernel/irq/spurious.c that assumes
irq0 to be something that it never is on ARM (and maybe all other
platforms apart from x86). So at least it's not internal to a single
(x86 specific) place.
I tried to patch that two years ago, but that only ended in people
saying "don't use irq0". I don't know if try_misrouted_irq sees hardware
irqs, but if it does it's a bug even on archs != X86 that use virtual
irqs.
(Note that this doesn't oppose to your statement that using NO_IRQ is
crap.)
> The problem with NO_IRQ is that stupid "we expose our mind-numbingly
> stupid interfaces across the whole kernel".
>
> x86 never did that. ARM still does. x86 doesn't have to fix anything. ARM does.
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |
next prev parent reply other threads:[~2011-12-06 20:59 UTC|newest]
Thread overview: 137+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-11 9:11 linux-next: Tree for Oct 11 Stephen Rothwell
2011-10-11 18:26 ` [PATCH -next] x86: perf_event_intel.c needs export.h Randy Dunlap
2011-10-11 18:49 ` linux-next: Tree for Oct 11 (mmc) Randy Dunlap
2011-10-11 19:31 ` mmc core broken dependency on CONFIG_BLOCK (Was: linux-next: Tree for Oct 11 (mmc)) Andrei Warkentin
2011-10-11 21:59 ` Randy Dunlap
2011-10-11 23:20 ` NamJae Jeon
2011-10-11 23:48 ` Andrei Warkentin
2011-10-12 0:16 ` NamJae Jeon
2011-10-12 0:50 ` Andrei Warkentin
2011-10-12 1:55 ` NamJae Jeon
2011-10-11 19:15 ` [PATCH -next] jbd2: fix build when CONFIG_BUG is not enabled Randy Dunlap
2011-10-27 8:06 ` Ted Ts'o
2011-10-11 19:26 ` linux-next: Tree for Oct 11 (mfd/intel_msic.c) Randy Dunlap
2011-10-11 19:32 ` linux-next: Tree for Oct 11 (gpio regulator) Randy Dunlap
2011-10-11 20:22 ` Heiko Stübner
2011-10-11 20:37 ` linux-next: Tree for Oct 11 (ata/pata_of_platform.c) Randy Dunlap
2011-10-14 17:58 ` Randy Dunlap
2011-11-10 13:57 ` Ingo Molnar
2011-11-10 14:25 ` Alan Cox
2011-11-10 15:18 ` [PATCH] ata: Fix build error in pata_of_platform (NO_IRQ usage) Anton Vorontsov
2011-11-10 15:25 ` [PATCH 1/2] of/irq: Get rid of NO_IRQ usage Anton Vorontsov
2011-12-06 21:22 ` Rob Herring
2011-12-06 21:25 ` Linus Torvalds
2011-12-06 23:16 ` [PATCH v3] " Anton Vorontsov
2011-12-07 3:51 ` Rob Herring
[not found] ` <1323268911-6104-1-git-send-email-robherring2@gmail.com>
[not found] ` <1323268911-6104-1-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-12-07 15:02 ` [RFC PATCH] microblaze/irq: Change NO_IRQ to 0 Grant Likely
2011-12-07 15:02 ` Grant Likely
2011-12-09 11:45 ` Michal Simek
2011-12-09 11:45 ` Michal Simek
2011-12-07 16:05 ` Linus Torvalds
2011-12-07 16:39 ` Rob Herring
[not found] ` <20111206231626.GA31683-wnGakbxT3iijyJ0x5qLZdcN33GVbZNy3@public.gmane.org>
2011-12-07 9:52 ` [PATCH v3] of/irq: Get rid of NO_IRQ usage Wolfram Sang
2011-12-07 9:52 ` Wolfram Sang
2011-11-10 15:26 ` [PATCH 2/2] ata: Don't use NO_IRQ in pata_of_platform driver Anton Vorontsov
2011-11-10 15:38 ` Alan Cox
2011-11-10 16:28 ` [PATCH] " Anton Vorontsov
2011-11-10 20:34 ` Jeff Garzik
2011-12-02 19:19 ` Dave Martin
2011-12-02 22:34 ` Anton Vorontsov
2011-12-02 22:40 ` Anton Vorontsov
2011-12-02 22:46 ` Anton Vorontsov
2011-12-02 22:40 ` Linus Torvalds
2011-12-02 23:18 ` [PATCH v2] of/irq: Get rid of NO_IRQ usage Anton Vorontsov
2011-12-02 23:22 ` [PATCH] ata: Don't use NO_IRQ in pata_of_platform driver Alan Cox
2011-12-03 18:56 ` Geert Uytterhoeven
2011-12-02 19:26 ` Dave Martin
2011-12-02 19:28 ` Linus Torvalds
2011-12-02 19:28 ` Linus Torvalds
2011-12-02 23:12 ` Benjamin Herrenschmidt
2011-12-02 23:12 ` Benjamin Herrenschmidt
2011-12-05 16:11 ` Dave Martin
2011-12-05 16:11 ` Dave Martin
2011-12-05 17:40 ` Nicolas Pitre
2011-12-05 17:40 ` Nicolas Pitre
2011-12-05 18:02 ` Dave Martin
2011-12-05 18:02 ` Dave Martin
2011-12-05 18:15 ` Geert Uytterhoeven
2011-12-05 18:15 ` Geert Uytterhoeven
2011-12-05 18:18 ` Nicolas Pitre
2011-12-05 18:18 ` Nicolas Pitre
[not found] ` <alpine.LFD.2.02.1112051310150.2357-QuJgVwGFrdf/9pzu0YdTqQ@public.gmane.org>
2011-12-05 18:45 ` Alan Cox
2011-12-05 18:45 ` Alan Cox
2011-12-05 18:45 ` Alan Cox
2011-12-05 19:19 ` James Bottomley
2011-12-05 19:19 ` James Bottomley
2011-12-06 6:13 ` Jean-Christophe PLAGNIOL-VILLARD
2011-12-06 6:13 ` Jean-Christophe PLAGNIOL-VILLARD
[not found] ` <20111206061321.GH9192-RQcB7r2h9QmfDR2tN2SG5Ni2O/JbrIOy@public.gmane.org>
2011-12-06 11:34 ` Alan Cox
2011-12-06 11:34 ` Alan Cox
2011-12-06 11:34 ` Alan Cox
2011-12-05 19:16 ` Rob Herring
2011-12-05 19:16 ` Rob Herring
2011-12-05 19:16 ` Rob Herring
2011-12-05 20:21 ` Anton Vorontsov
2011-12-05 20:21 ` Anton Vorontsov
2011-12-05 20:47 ` Rob Herring
2011-12-05 20:47 ` Rob Herring
[not found] ` <4EDD2DE1.1050606-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-12-05 20:53 ` Alan Cox
2011-12-05 20:53 ` Alan Cox
2011-12-05 20:53 ` Alan Cox
2011-12-06 9:30 ` Dave Martin
2011-12-06 9:30 ` Dave Martin
[not found] ` <20111206093000.GA2274-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2011-12-06 10:34 ` Alan Cox
2011-12-06 10:34 ` Alan Cox
2011-12-06 10:34 ` Alan Cox
2011-12-06 10:55 ` Russell King - ARM Linux
2011-12-06 10:55 ` Russell King - ARM Linux
2011-12-06 10:55 ` Russell King - ARM Linux
2011-12-05 19:26 ` Dave Martin
2011-12-05 19:26 ` Dave Martin
2011-12-05 19:49 ` Nicolas Pitre
2011-12-05 19:49 ` Nicolas Pitre
2011-12-06 9:37 ` Dave Martin
2011-12-06 9:37 ` Dave Martin
[not found] ` <20111206093709.GB2274-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2011-12-06 10:46 ` Russell King - ARM Linux
2011-12-06 10:46 ` Russell King - ARM Linux
2011-12-06 10:46 ` Russell King - ARM Linux
2011-12-06 11:00 ` Geert Uytterhoeven
2011-12-06 11:00 ` Geert Uytterhoeven
2011-12-06 11:00 ` Geert Uytterhoeven
2011-12-06 11:03 ` Russell King - ARM Linux
2011-12-06 11:03 ` Russell King - ARM Linux
2011-12-06 11:10 ` Alan Cox
2011-12-06 11:10 ` Alan Cox
2011-12-06 11:05 ` Alan Cox
2011-12-06 11:05 ` Alan Cox
[not found] ` <20111206110554.53bddd14-qBU/x9rampVanCEyBjwyrvXRex20P6io@public.gmane.org>
2011-12-06 11:25 ` Russell King - ARM Linux
2011-12-06 11:25 ` Russell King - ARM Linux
2011-12-06 11:25 ` Russell King - ARM Linux
2011-12-06 12:11 ` Alan Cox
2011-12-06 12:11 ` Alan Cox
2011-12-06 11:37 ` Dave Martin
2011-12-06 11:37 ` Dave Martin
2011-12-06 11:49 ` Russell King - ARM Linux
2011-12-06 11:49 ` Russell King - ARM Linux
2011-12-06 13:25 ` Dave Martin
2011-12-06 13:25 ` Dave Martin
2011-12-06 19:56 ` Rob Herring
2011-12-06 19:56 ` Rob Herring
2011-12-06 19:20 ` Linus Torvalds
2011-12-06 19:20 ` Linus Torvalds
2011-12-06 20:00 ` Russell King - ARM Linux
2011-12-06 20:00 ` Russell King - ARM Linux
[not found] ` <CA+55aFwZBr+3_S9kU-+m8zN8iwOvn2miuuAy-zt7sUjW_+abBg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-12-06 20:59 ` Uwe Kleine-König [this message]
2011-12-06 20:59 ` Uwe Kleine-König
2011-12-06 20:59 ` Uwe Kleine-König
2011-12-06 19:11 ` Nicolas Pitre
2011-12-06 19:11 ` Nicolas Pitre
[not found] ` <20111205161157.GA27550-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2011-12-05 17:41 ` Alan Cox
2011-12-05 17:41 ` Alan Cox
2011-12-05 17:41 ` Alan Cox
2011-11-10 15:35 ` [PATCH] ata: Fix build error in pata_of_platform (NO_IRQ usage) Alan Cox
2011-11-10 18:18 ` linux-next: Tree for Oct 11 (ata/pata_of_platform.c) Jeff Garzik
2011-10-11 20:45 ` linux-next: Tree for Oct 11 (iio/resolver) Randy Dunlap
2011-10-11 20:45 ` Randy Dunlap
2011-10-12 8:58 ` Jonathan Cameron
2011-10-12 8:58 ` Jonathan Cameron
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=20111206205955.GH4585@pengutronix.de \
--to=u.kleine-koenig-bicnvbalz9megne8c9+irq@public.gmane.org \
--cc=akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org \
--cc=alan-qBU/x9rampVanCEyBjwyrvXRex20P6io@public.gmane.org \
--cc=cbouatmailru-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
--cc=jgarzik-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-ide-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org \
--cc=linux-next-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=mingo-X9Un+BFzKDI@public.gmane.org \
--cc=nicolas.pitre-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=pawel.moll-5wv7dgnIgG8@public.gmane.org \
--cc=rdunlap-/UHa2rfvQTnk1uMJSBkQmQ@public.gmane.org \
--cc=sfr-3FnU+UHB4dNDw9hX6IcOSA@public.gmane.org \
--cc=torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.