Messages in this thread | | | Date | Mon, 3 Jul 2006 10:03:43 +0100 | From | Russell King <> | Subject | Re: [PATCH] genirq: ARM dyntick cleanup |
| |
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@arm.linux.org.uk> 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.
So, on ARM potentially 16 to 20 bytes per weak function. That's a 1600% to 2000% increase on your estimate.
(Unfortunately we have to tell the compiler to always generate stack frames otherwise we can't get call traces out of the kernel.)
-- Russell King Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/ maintainer of: 2.6 Serial core - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |