Re: [PATCH] genirq: ARM dyntick cleanup

From: Andrew Morton
Date: Mon Jul 03 2006 - 05:11:26 EST


On Mon, 3 Jul 2006 10:03:43 +0100
Russell King <rmk+lkml@xxxxxxxxxxxxxxxx> wrote:

> On Mon, Jul 03, 2006 at 12:55:42AM -0700, Andrew Morton wrote:
> > On Mon, 3 Jul 2006 08:41:55 +0100
> > Russell King <rmk+lkml@xxxxxxxxxxxxxxxx> wrote:
> >
> > > On Sun, Jul 02, 2006 at 05:35:27PM -0700, Andrew Morton wrote:
> > > > This is not exactly a thing of beauty either. It's much cleaner to use
> > > > __attribute__((weak)), but that will add an empty call-return to everyone's
> > > > interrupts.
> > >
> > > Let's not go overboard with the weak stuff - it does not get removed
> > > at link time, so it remains as dead code in the kernel image.
> >
> > Well.
> >
> > void handle_dynamic_tick(struct irqaction *action)
> > {
> > }
> >
> > consumes one byte, doesn't it? That's not very far overboard ;)
>
> ROTFL!
>
> All the word isn't x86. On ARM it's 3 words for the stack setup and
> one for the tear down, so 16 bytes, assuming the function doesn't
> return a value. If it does, add another 4 bytes.
>

Well yes, and there's also compiler-added alignment padding after the
function itself.

It's still pretty small beer. It's a judgement call, which is why I
recommended it not be used here.

A lot of places where it's used (and useful) are in __init setup code.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/