All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeff Garzik <jeff@garzik.org>
To: Linus Torvalds <torvalds@osdl.org>
Cc: David Howells <dhowells@redhat.com>,
	linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org,
	Ingo Molnar <mingo@elte.hu>, Alan Cox <alan@lxorguk.ukuu.org.uk>,
	Andrew Morton <akpm@osdl.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Dmitry Torokhov <dtor@mail.ru>, Greg KH <greg@kroah.com>,
	David Brownell <david-b@pacbell.net>,
	Alan Stern <stern@rowland.harvard.edu>
Subject: Re: [PATCH, RAW] IRQ: Maintain irq number globally rather than passing to IRQ handlers
Date: Fri, 06 Oct 2006 12:38:59 -0400	[thread overview]
Message-ID: <452686A3.9050004@garzik.org> (raw)
In-Reply-To: <Pine.LNX.4.64.0610060841320.3952@g5.osdl.org>

Linus Torvalds wrote:
> 
> On Fri, 6 Oct 2006, Jeff Garzik wrote:
>> Here is the raw, un-split-up first pass of the irq argument removal patch
>> (500K):	http://gtf.org/garzik/misc/patch.irq-remove
> 
> So I'm not at all as sure about this as about the "regs" stuff.
> 
> The "regs" value has always been controversial. It's pretty much always 
> existed (due to the keyboard hander and the magic debugging keysequences), 
> and anybody who looks at 0.01 will quickly realize that the keyboard 
> driver was one of the very first drivers (I think it's even written in 
> assembly at that point: originally _all_ of what was to become Linux was 
> pure asm, the whole "oh, cool, I could write this part in C" came later). 
> But it's been pretty much a special case since day #1, purely for that 
> "press a key to see where the h*ck we hung" case.

Chuckle :)

> In contrast, the irq argument itself is really no different from the 
> cookie we pass in on registration - it's just passing it back to the 
> driver that requested the thing. So unlike "regs", there's not really 
> anything strange about it, and there's nothing really "wrong" with having 
> it there.

It doesn't have the colorful history of pt_regs, but the 'irq' argument 
is dead weight.  I'd say the wrongness stems from its utter uselessness.

Out of ~1100 irq handlers, the irq parameter is used in ~50.  The vast 
majority of those 50 uses are debug printks, or abused as a "did I call 
myself?" internal driver flag.  The number of "real" uses is under 15, 
and those are all ancient ISA or platform drivers that pre-date my ~10 
year history with Linux.

So, I don't see any convincing argument to keep it.  And if we are going 
to kill it, given the pt_regs churn, this is probably the best 
opportunity we'll have in years.

Another weak-but-still-present argument in favor of killing it is that 
this change would IMO future-proof irq handlers, against more exotic irq 
handling methods that may come down the pipe.

	Jeff



  parent reply	other threads:[~2006-10-06 16:39 UTC|newest]

Thread overview: 71+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-10-02 16:20 [PATCH 1/3] IRQ: Typedef the IRQ flow handler function type David Howells
2006-10-02 16:20 ` [PATCH 2/3] IRQ: Typedef the IRQ " David Howells
     [not found] ` <20061002162053.17763.26032.stgit@warthog.cambridge.redhat.com>
2006-10-02 20:21   ` [PATCH 3/3] IRQ: Maintain regs pointer globally rather than passing to IRQ handlers Andrew Morton
2006-10-02 20:18     ` Ingo Molnar
2006-10-02 20:54       ` Linus Torvalds
2006-10-02 21:01         ` Andrew Morton
2006-10-02 21:12           ` Linus Torvalds
2006-10-02 21:19             ` Andi Kleen
2006-10-02 21:46               ` Linus Torvalds
2006-10-02 21:47                 ` Ingo Molnar
2006-10-02 21:59                 ` Andi Kleen
2006-10-02 22:33                   ` Linus Torvalds
2006-10-03 10:43           ` Ingo Molnar
     [not found]           ` <fa.v9OUIBlFjbmpdm2jHjUOj/6fm5Y@ifi.uio.no>
2006-10-07 18:44             ` Bill Waddington
2006-10-02 21:12         ` David Miller
2006-10-02 21:18           ` Thomas Gleixner
2006-10-02 22:59         ` Karsten Wiese
2006-10-03  0:36         ` Dave Airlie
2006-10-03 10:21         ` David Howells
2006-10-05  8:01         ` David Woodhouse
2006-10-03 10:01       ` David Howells
2006-10-03 10:30         ` David Howells
2006-10-02 20:43     ` Dmitry Torokhov
2006-10-02 20:56       ` Andrew Morton
2006-10-02 23:52       ` Greg KH
2006-10-02 20:46     ` David Brownell
2006-10-02 20:58       ` Andrew Morton
2006-10-02 21:34       ` Alan Stern
2006-10-02 21:34         ` Alan Stern
2006-10-02 23:00         ` David Brownell
2006-10-03 18:03           ` Alan Stern
2006-10-06  3:45             ` David Brownell
2006-10-06 17:42               ` Alan Stern
2006-10-05 14:22     ` David Howells
2006-10-05 19:46       ` Andrew Morton
2006-10-05 20:19         ` Thomas Gleixner
2006-10-05 20:20         ` Dmitry Torokhov
2006-10-05 20:34         ` Greg KH
2006-10-05 23:35       ` Linus Torvalds
2006-10-06  1:31         ` [PATCH] powerpc: irq change build breaks Olof Johansson
2006-10-06  1:31           ` Olof Johansson
2006-10-06  4:22           ` Benjamin Herrenschmidt
2006-10-06  4:22             ` Benjamin Herrenschmidt
2006-10-06 16:42         ` [PATCH 3/3] IRQ: Maintain regs pointer globally rather than passing to IRQ handlers Russell King
2006-10-06 18:01           ` Linus Torvalds
2006-10-07  2:54             ` Matthew Wilcox
2006-10-07 14:44               ` [parisc-linux] " Matthew Wilcox
2006-10-07 14:44               ` Matthew Wilcox
2006-10-07  2:54             ` [parisc-linux] " Matthew Wilcox
2006-10-06 18:53         ` [PATCH] fix mesh compile errors after irq changes Olaf Hering
2006-10-06 19:09           ` Geert Uytterhoeven
2006-10-06 20:34         ` [PATCH] powerpc: fixup " Olaf Hering
2006-10-06 20:52           ` [PATCH] powerpc: spu " Olaf Hering
2006-10-06 21:06             ` [PATCH] ppc: PReP " Olaf Hering
2006-10-07  0:19           ` [PATCH] powerpc: " Paul Mackerras
2006-10-07 12:25             ` Paul Mackerras
2006-10-06  0:52       ` [PATCH 3/3] IRQ: Maintain regs pointer globally rather than passing to IRQ handlers Jeff Garzik
2006-10-06 11:25         ` Alan Cox
2006-10-06 11:15           ` Jeff Garzik
2006-10-06 11:11             ` Ingo Molnar
2006-10-06 11:27               ` Jeff Garzik
2006-10-06 11:25                 ` Ingo Molnar
2006-10-06 14:07                   ` Dmitry Torokhov
2006-10-06 14:16                     ` Jeff Garzik
2006-10-06 15:18                 ` [PATCH, RAW] IRQ: Maintain irq number " Jeff Garzik
2006-10-06 15:20                   ` Jeff Garzik
2006-10-06 15:47                   ` Linus Torvalds
2006-10-06 16:21                     ` Dmitry Torokhov
2006-10-06 16:40                       ` Linus Torvalds
2006-10-06 16:38                     ` Jeff Garzik [this message]
2006-10-06  8:03       ` [PATCH 3/3] IRQ: Maintain regs pointer " Gregor Jasny
     [not found] <fa.FU9k10MvHKEiGBkmyRa0N7lIvX4@ifi.uio.no>
     [not found] ` <fa.YmeJPP3GwSahgI09Gcaha4kqm84@ifi.uio.no>
     [not found]   ` <fa.qbSmIOXP3NtOgNMHs5oazelaSJs@ifi.uio.no>
     [not found]     ` <fa.AB8rZ1kwd3vQ1HCbYfV1438E4A0@ifi.uio.no>

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=452686A3.9050004@garzik.org \
    --to=jeff@garzik.org \
    --cc=akpm@osdl.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=david-b@pacbell.net \
    --cc=dhowells@redhat.com \
    --cc=dtor@mail.ru \
    --cc=greg@kroah.com \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=stern@rowland.harvard.edu \
    --cc=tglx@linutronix.de \
    --cc=torvalds@osdl.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.