[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1283978124.11763.80.camel@mulgrave.site>
Date: Wed, 08 Sep 2010 15:35:24 -0500
From: James Bottomley <James.Bottomley@...senPartnership.com>
To: Thomas Gleixner <tglx@...utronix.de>
Cc: LKML <linux-kernel@...r.kernel.org>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Ingo Molnar <mingo@...e.hu>,
Peter Zijlstra <peterz@...radead.org>,
Christoph Hellwig <hch@...radead.org>,
linux-alpha@...r.kernel.org, linux-cris-kernel@...s.com,
Haavard Skinnemoen <hskinnemoen@...el.com>,
Tony Luck <tony.luck@...el.com>, linux-ia64@...r.kernel.org,
Yoshinori Sato <ysato@...rs.sourceforge.jp>,
Hirokazu Takata <takata@...ux-m32r.org>,
Greg Ungerer <gerg@...inux.org>, Jeff Dike <jdike@...toit.com>,
linux-parisc@...r.kernel.org, Chris Zankel <chris@...kel.net>,
linux-arch@...r.kernel.org
Subject: Re: [RFC trollpatch 1/1] genirq: Remove the fits all and nothing
__do_IRQ() code
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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists