All of lore.kernel.org
 help / color / mirror / Atom feed
From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: LKML <linux-kernel@vger.kernel.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Ingo Molnar <mingo@elte.hu>,
	Peter Zijlstra <peterz@infradead.org>,
	Christoph Hellwig <hch@infradead.org>,
	linux-alpha@vger.kernel.org, linux-cris-kernel@axis.com,
	Haavard Skinnemoen <hskinnemoen@atmel.com>,
	Tony Luck <tony.luck@intel.com>,
	linux-ia64@vger.kernel.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Hirokazu Takata <takata@linux-m32r.org>,
	Greg Ungerer <gerg@uclinux.org>, Jeff Dike <jdike@addtoit.com>,
	linux-parisc@vger.kernel.org, Chris Zankel <chris@zankel.net>,
	linux-arch@vger.kernel.org
Subject: Re: [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code
Date: Wed, 08 Sep 2010 15:35:24 -0500	[thread overview]
Message-ID: <1283978124.11763.80.camel@mulgrave.site> (raw)
In-Reply-To: <alpine.LFD.2.00.1009082056210.2477@localhost6.localdomain6>

On Wed, 2010-09-08 at 21:34 +0200, Thomas Gleixner wrote:
> On Wed, 8 Sep 2010, James Bottomley wrote:
> > On Wed, 2010-09-08 at 18:14 +0000, Thomas Gleixner wrote:
> > > plain text document attachment (genirq-troll-patch.patch)
> > > __do_IRQ() has been deprecated after a two years migration phase in
> > > commit 0e57aa1. Since then another 18 month have gone by.
> > > 
> > > So here's the status three and a half years after the flow based
> > > infrastructure was merged:
> > > 
> > >  The following architectures are fully converted to the new flow
> > >  handler code:
> > > 
> > >   arm, avr32, blackfin, frv, microblaze, mips, mn10300, powerpc, score, sh,
> > >   sparc 64bit, tile, x86, xtensa
> > > 
> > >   (avr32 and xtensa should set CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ
> > >   though)
> > > 
> > >  The following architectures are not using the generic interrupt
> > >  infrastructure at all and are therefor unaffected:
> > > 
> > >   s390, m68k, sparc 32bit
> > > 
> > >  The following architectures are still using __do_IRQ():
> > > 
> > >   alpha, cris, ia64, h8300, m32r, m68knommu, parisc, um
> > > 
> > > So now the question arises what to do with __do_IRQ().
> > > 
> > > Removing it would be the right thing, but that'll break 8 archs, so
> > > it's probably not considered a good idea, though for most of them the
> > > conversion should be reasonably trivial.
> > > 
> > > I'm happy to move that code into kernel/irq/cruft.c forever if there
> > > is no way to get the remaining users converted in the forseeable
> > > future. It looks like they can cope with the annoying build warning
> > > nicely.
> > 
> > Well, if you're going to deprecate something that 8 architectures rely
> > on, it would be nice to tell people ... or even just linux-arch ... most
> 
> It's been told people. The deprecation patch was on LKMl (I don't
> remember whether I sent it to linux-arch),

You didn't ... I checked.

>  but there were a bunch of
> related patches to clean out the old irq related cruft which were sent
> to linux-arch and also hit the parisc tree. There is an entry in
> feature-removal-schedule.txt for 18 month now.
> 
> > of us do read that.  I've actually never noticed the warning the commit
> > activated in any of my parisc compiles for some reason.
> 
> CONFIG_ENABLE_WARN_DEPRECATED=y perhaps ?
>
> I'm really tired of your whining when you did not get a personalized
> taylored to your needs info.

So you send out deliberate flame bait and then suffer humour failure at
an ironic reply?

> 14 architectures got converted and some maintainers sent out mail to
> their users 18 month ago right after the deprecation patch was sent
> (www.linux-mips.org/archives/linux-mips/2009-03/msg00068.html), there
> were reviews of new architecture code on linux-arch where this was
> pointed out, so don't tell me that there was not enough information
> about this.

Well, we could go round in circles over the cryptic nature of this
indirection for ages, but I've got a wonderful target flame war to get
back to, so why don't we just cut to the chase:

The missing information is what actually needs to be done.  Fortunately,
the documentation is here:

Documentation/DocBook/genericirq.tmpl

It gives a nice overview and describes what's needed.  Basically you're
replacing generic __do_IRQ() with an internal implementation tuned to
specific handler types using the either generic library of handler
functions in kernel/irq or something more hand crafted and chip
specific.
.
James



WARNING: multiple messages have this Message-ID (diff)
From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: LKML <linux-kernel@vger.kernel.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Ingo Molnar <mingo@elte.hu>,
	Peter Zijlstra <peterz@infradead.org>,
	Christoph Hellwig <hch@infradead.org>,
	linux-alpha@vger.kernel.org, linux-cris-kernel@axis.com,
	Haavard Skinnemoen <hskinnemoen@atmel.com>,
	Tony Luck <tony.luck@intel.com>,
	linux-ia64@vger.kernel.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Hirokazu Takata <takata@linux-m32r.org>,
	Greg Ungerer <gerg@uclinux.org>, Jeff Dike <jdike@addtoit.com>,
	linux-parisc@vger.kernel.org, Chris Zankel <chris@zankel.net>,
	linux-arch@vger.kernel.org
Subject: Re: [RFC trollpatch 1/1] genirq: Remove the fits all and nothing
Date: Wed, 08 Sep 2010 20:35:24 +0000	[thread overview]
Message-ID: <1283978124.11763.80.camel@mulgrave.site> (raw)
In-Reply-To: <alpine.LFD.2.00.1009082056210.2477@localhost6.localdomain6>

On Wed, 2010-09-08 at 21:34 +0200, Thomas Gleixner wrote:
> On Wed, 8 Sep 2010, James Bottomley wrote:
> > On Wed, 2010-09-08 at 18:14 +0000, Thomas Gleixner wrote:
> > > plain text document attachment (genirq-troll-patch.patch)
> > > __do_IRQ() has been deprecated after a two years migration phase in
> > > commit 0e57aa1. Since then another 18 month have gone by.
> > > 
> > > So here's the status three and a half years after the flow based
> > > infrastructure was merged:
> > > 
> > >  The following architectures are fully converted to the new flow
> > >  handler code:
> > > 
> > >   arm, avr32, blackfin, frv, microblaze, mips, mn10300, powerpc, score, sh,
> > >   sparc 64bit, tile, x86, xtensa
> > > 
> > >   (avr32 and xtensa should set CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ
> > >   though)
> > > 
> > >  The following architectures are not using the generic interrupt
> > >  infrastructure at all and are therefor unaffected:
> > > 
> > >   s390, m68k, sparc 32bit
> > > 
> > >  The following architectures are still using __do_IRQ():
> > > 
> > >   alpha, cris, ia64, h8300, m32r, m68knommu, parisc, um
> > > 
> > > So now the question arises what to do with __do_IRQ().
> > > 
> > > Removing it would be the right thing, but that'll break 8 archs, so
> > > it's probably not considered a good idea, though for most of them the
> > > conversion should be reasonably trivial.
> > > 
> > > I'm happy to move that code into kernel/irq/cruft.c forever if there
> > > is no way to get the remaining users converted in the forseeable
> > > future. It looks like they can cope with the annoying build warning
> > > nicely.
> > 
> > Well, if you're going to deprecate something that 8 architectures rely
> > on, it would be nice to tell people ... or even just linux-arch ... most
> 
> It's been told people. The deprecation patch was on LKMl (I don't
> remember whether I sent it to linux-arch),

You didn't ... I checked.

>  but there were a bunch of
> related patches to clean out the old irq related cruft which were sent
> to linux-arch and also hit the parisc tree. There is an entry in
> feature-removal-schedule.txt for 18 month now.
> 
> > of us do read that.  I've actually never noticed the warning the commit
> > activated in any of my parisc compiles for some reason.
> 
> CONFIG_ENABLE_WARN_DEPRECATED=y perhaps ?
>
> I'm really tired of your whining when you did not get a personalized
> taylored to your needs info.

So you send out deliberate flame bait and then suffer humour failure at
an ironic reply?

> 14 architectures got converted and some maintainers sent out mail to
> their users 18 month ago right after the deprecation patch was sent
> (www.linux-mips.org/archives/linux-mips/2009-03/msg00068.html), there
> were reviews of new architecture code on linux-arch where this was
> pointed out, so don't tell me that there was not enough information
> about this.

Well, we could go round in circles over the cryptic nature of this
indirection for ages, but I've got a wonderful target flame war to get
back to, so why don't we just cut to the chase:

The missing information is what actually needs to be done.  Fortunately,
the documentation is here:

Documentation/DocBook/genericirq.tmpl

It gives a nice overview and describes what's needed.  Basically you're
replacing generic __do_IRQ() with an internal implementation tuned to
specific handler types using the either generic library of handler
functions in kernel/irq or something more hand crafted and chip
specific.
.
James



  reply	other threads:[~2010-09-08 20:35 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-08 18:14 [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code Thomas Gleixner
2010-09-08 18:14 ` Thomas Gleixner
2010-09-08 18:14 ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing Thomas Gleixner
2010-09-08 18:51 ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code James Bottomley
2010-09-08 18:51   ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing James Bottomley
2010-09-08 19:34   ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code Thomas Gleixner
2010-09-08 19:34     ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing Thomas Gleixner
2010-09-08 20:35     ` James Bottomley [this message]
2010-09-08 20:35       ` James Bottomley
2010-09-08 21:35       ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code Thomas Gleixner
2010-09-08 21:35         ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing Thomas Gleixner
2010-09-08 20:28   ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code Mike Frysinger
2010-09-08 20:28     ` Mike Frysinger
2010-09-08 20:28     ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing Mike Frysinger
2010-09-08 20:28     ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code Mike Frysinger
2010-09-08 18:58 ` Kyle McMartin
2010-09-08 18:58   ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing Kyle McMartin
2010-09-08 20:36   ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code Luck, Tony
2010-09-08 20:36     ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing Luck, Tony
2010-09-09  7:10 ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code Mikael Starvik
2010-09-09  7:10   ` Mikael Starvik
2010-09-09  7:10   ` Mikael Starvik
2010-09-09  7:10   ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing Mikael Starvik
2010-09-09  7:10   ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code Mikael Starvik
2010-09-09 13:44   ` Dialup Jon Norstog
2010-09-09 13:44     ` Dialup Jon Norstog
2010-09-09  7:21 ` Greg Ungerer
2010-09-09  7:21   ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing Greg Ungerer
2010-09-09 14:09   ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code Kyle McMartin
2010-09-09 14:09     ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing Kyle McMartin
2010-09-09 23:17     ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code Greg Ungerer
2010-09-09 23:17       ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing Greg Ungerer
2010-09-27 17:36 ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code Tony Luck
2010-09-27 17:36   ` Tony Luck
2010-09-27 17:36   ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing Tony Luck
2010-09-27 18:01   ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code Thomas Gleixner
2010-09-27 18:01     ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing Thomas Gleixner
2010-09-27 18:39     ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code Luck, Tony
2010-09-27 18:39       ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing Luck, Tony
2010-09-27 18:49       ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code Thomas Gleixner
2010-09-27 18:49         ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing Thomas Gleixner
2010-09-27 19:01         ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code Luck, Tony
2010-09-27 19:01           ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing Luck, Tony
2010-09-29  0:46           ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code Kyle McMartin
2010-09-29  0:46             ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing Kyle McMartin
2010-09-29  4:55             ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code Luck, Tony
2010-09-29  4:55               ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing Luck, Tony
2010-09-29 14:38               ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code Kyle McMartin
2010-09-29 14:38                 ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing Kyle McMartin
2010-09-27 19:48 ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code richard -rw- weinberger
2010-09-27 19:48   ` richard -rw- weinberger
2010-09-27 19:48   ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing richard -rw- weinberger
2010-09-27 19:48   ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code richard -rw- weinberger
2010-09-27 19:54   ` Thomas Gleixner
2010-09-27 19:54     ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing Thomas Gleixner
2010-09-30  1:26 ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code Kyle McMartin
2010-09-30  1:26   ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing Kyle McMartin
2010-09-30  2:41   ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code Kyle McMartin
2010-09-30  2:41     ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing Kyle McMartin

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=1283978124.11763.80.camel@mulgrave.site \
    --to=james.bottomley@hansenpartnership.com \
    --cc=akpm@linux-foundation.org \
    --cc=chris@zankel.net \
    --cc=gerg@uclinux.org \
    --cc=hch@infradead.org \
    --cc=hskinnemoen@atmel.com \
    --cc=jdike@addtoit.com \
    --cc=linux-alpha@vger.kernel.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-cris-kernel@axis.com \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-parisc@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=peterz@infradead.org \
    --cc=takata@linux-m32r.org \
    --cc=tglx@linutronix.de \
    --cc=tony.luck@intel.com \
    --cc=torvalds@linux-foundation.org \
    --cc=ysato@users.sourceforge.jp \
    /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.