All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Daney <ddaney@caviumnetworks.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	<linux-kernel@vger.kernel.org>
Cc: David Daney <david.daney@cavium.com>
Subject: Re: [PATCH 3/3] smp.h: Move !SMP version of on_each_cpu() out-of-line
Date: Fri, 2 Aug 2013 15:24:47 -0700	[thread overview]
Message-ID: <51FC31AF.1070802@caviumnetworks.com> (raw)
In-Reply-To: <1375477776-13302-4-git-send-email-ddaney.cavm@gmail.com>

On 08/02/2013 02:09 PM, David Daney wrote:
> From: David Daney <david.daney@cavium.com>
>
> All of the other non-trivial !SMP versions of functions in smp.h are
>  out-of-line in up.c.  Move on_each_cpu() there as well.
>
> This allows us to get rid of the #include <linux/irqflags.h>.  The
> drawback is that this makes both the x86_64 and i386 defconfig !SMP
> kernels about 200 bytes larger each.

I looked at the cause of the size difference and there are several main
parts to it.

1) kallsym data (28 bytes).

2) with the patch generating a function pointer to pass to on_each_cpu 
vs. direct call (7 bytes * 22 call sites) and generating the the ignored 
third parameter (5 bytes * 22 call sites); without the patch 
local_irq_save/local_irq_restore(5 bytes * 22 call sites)  for a total 
of 7 * 22 == 154 bytes.

3) Other (21 bytes).

>
> Signed-off-by: David Daney <david.daney@cavium.com> ---
> include/linux/smp.h | 21 +++++---------------- kernel/up.c         |
> 11 +++++++++++ 2 files changed, 16 insertions(+), 16 deletions(-)
>


      reply	other threads:[~2013-08-02 22:27 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-02 21:09 [PATCH 0/3] smp.h: !SMP cleanups David Daney
2013-08-02 21:09 ` [PATCH 1/3] smp: Quit unconditionally enabling irq in on_each_cpu_mask and on_each_cpu_cond David Daney
2013-08-02 21:09 ` [PATCH 2/3] up.c: Use local_irq_{save,restore}() in smp_call_function_single David Daney
2013-08-02 21:09 ` [PATCH 3/3] smp.h: Move !SMP version of on_each_cpu() out-of-line David Daney
2013-08-02 22:24   ` David Daney [this message]

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=51FC31AF.1070802@caviumnetworks.com \
    --to=ddaney@caviumnetworks.com \
    --cc=akpm@linux-foundation.org \
    --cc=david.daney@cavium.com \
    --cc=linux-kernel@vger.kernel.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.