Re: [patch] generic-hardirqs.patch, 2.6.9-rc1-bk14

Christoph Hellwig
2004-09-08T12:57:16Z

On Wed, Sep 08, 2004 at 02:45:47PM +0200, Ingo Molnar wrote:
> some of the architectures dont want to (and cannot) use the generic
> functions for one reason or another. So the proper approach i believe is
> to provide these generic functions the architectures can plug in. I can
> do an asm-generic/hardirq.h that adds all the definitions, for
> architectures that dont need any special IRQ logic.

Some architectures definitly can't use it. That's why the prototypes for
them arch in arch-headers. No need to introduce totally useless wrappers.
The asm-generic one sounds like a good idea, but I'd wait with that one
until the consolidation is mostly finished, aka all architectures that
currently use more or less a copy of the i386 irq.c are migrated over so
we can see it's scope.

> > > obj-y = sched.o fork.o exec_domain.o panic.o printk.o profile.o \
> > > - exit.o itimer.o time.o softirq.o resource.o \
> > > + exit.o itimer.o time.o softirq.o hardirq.o resource.o \
> >
> > And make hardirq.o dependent on some symbols the architectures set.
> > Else arches that don't use it carry tons of useless baggage around
> > (and in fact I'm pretty sure it wouldn't even compie for many)
>
> it compiles fine on x86, x64, ppc and ppc64. Why do you think it wont
> compile on others?

linux/irq.h is despite it's name _not_ a public header but a misnamed
asm-generic/hw_irq.h. There's quite a few architectures with a completely
different interrupt architecture and for tose it won't compile.

> wrt. unused generic functions - why dont we drop them link-time?

make explicit what you can do easily instead of relying on the compiler.
It allows to get rid of your horrible generic_ hacks, cuts down compile
time and makes explicit to anyone looking at the code and Kconfig which
architectures use this.