Re: [RFC trollpatch 1/1] genirq: Remove the fits all and nothing

James Bottomley
2010-09-08T20:35:24Z

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