All of lore.kernel.org
 help / color / mirror / Atom feed
From: Russell King <rmk+lkml@arm.linux.org.uk>
To: Andrew Morton <akpm@osdl.org>
Cc: tglx@linutronix.de, torvalds@osdl.org, mingo@elte.hu,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] genirq: ARM dyntick cleanup
Date: Mon, 3 Jul 2006 10:03:43 +0100	[thread overview]
Message-ID: <20060703090343.GA31274@flint.arm.linux.org.uk> (raw)
In-Reply-To: <20060703005542.62df5673.akpm@osdl.org>

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

  reply	other threads:[~2006-07-03  9:03 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-07-03  0:18 [PATCH] genirq: ARM dyntick cleanup Thomas Gleixner
2006-07-03  0:35 ` Andrew Morton
2006-07-03  6:29   ` Thomas Gleixner
2006-07-03  6:57     ` Ingo Molnar
2006-07-04 11:54       ` Christoph Hellwig
2006-07-04 12:22         ` Ingo Molnar
2006-07-05  8:35           ` Russell King
2006-07-08 18:53         ` Christoph Hellwig
2006-07-03  7:41   ` Russell King
2006-07-03  7:55     ` Andrew Morton
2006-07-03  9:03       ` Russell King [this message]
2006-07-03  9:12         ` Andrew Morton
2006-07-03 16:56       ` Linus Torvalds
2006-07-03 17:13   ` Linus Torvalds
2006-07-03 17:27     ` Arjan van de Ven
2006-07-05 23:24       ` Randy.Dunlap
2006-07-05 23:35         ` Andrew Morton
2006-07-05 23:50           ` Randy.Dunlap
2006-07-05 23:53         ` Linus Torvalds
2006-07-06  0:02           ` Randy.Dunlap
2006-07-06  6:47           ` Giacomo A. Catenazzi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060703090343.GA31274@flint.arm.linux.org.uk \
    --to=rmk+lkml@arm.linux.org.uk \
    --cc=akpm@osdl.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=tglx@linutronix.de \
    --cc=torvalds@osdl.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.