All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kevin Winchester <kjwinchester@gmail.com>
To: Ingo Molnar <mingo@elte.hu>
Cc: Kevin Winchester <kjwinchester@gmail.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Borislav Petkov <bp@alien8.de>,
	Randy Dunlap <rdunlap@xenotime.net>,
	Nick Bowler <nbowler@elliptictech.com>,
	linux-kernel@vger.kernel.org
Subject: [PATCH v5 0/5] x86: Cleanup and simplify cpu-specific data
Date: Wed, 28 Mar 2012 19:43:02 -0300	[thread overview]
Message-ID: <1332974587-15452-1-git-send-email-kjwinchester@gmail.com> (raw)
In-Reply-To: <20120227115905.GB9943@elte.hu>

Various per-cpu fields are define in arch/x86/kernel/smpboot.c that are
basically equivalent to the cpu-specific data in struct cpuinfo_x86.
By moving these fields into the structure, a number of codepaths can be
simplified since they no longer need to care about those fields not
existing on !SMP builds.

The size effects on allno (UP) and allyes (MAX_SMP) kernels are as
follows:

text      data      bss	      dec        hex      filename
 1369227    181536   1399180    2949943   2d0337  vmlinux.i386.allno
 1370216    181600   1399012    2950828	  2d06ac  vmlinux.i386.allno.after
 1608231    310968    505088    2424287   24fddf  vmlinux.x86_64.allno
 1609232    311032    504896    2425160   250148  vmlinux.x86_64.allno.after
97643748   6891747  34668544  139204039  84c15c7  vmlinux.i386.allyes
97643582   6892011  34668544  139204137  84c1629  vmlinux.i386.allyes.after
85869519  13567071  44511232  143947822  894782e  vmlinux.x86_64.allyes
85869134  13568607  44511232  143948973  8947cad  vmlinux.x86_64.allyes.after


As can be seen, the kernels get slighly larger, but the code reduction/
simplification should be enough to compensate for it.

Changes in v5:
- Reduced the number of files affected in the patchset by keeping helper
functions in arch/x86/include/asm/smp.h
- Rebased to latest tip/master

Kevin Winchester (5):
  x86: Move per cpu cpu_llc_shared_map to a field in struct cpuinfo_x86
  x86: Move per cpu cpu_llc_id to a field in struct cpuinfo_x86
  x86: Move per cpu cpu_sibling_map to a field in struct cpuinfo_x86
  x86: Move per cpu cpu_core_map to a field in struct cpuinfo_x86
  x86: Remove #ifdef CONFIG_SMP sections by moving smp_num_siblings
    into common.c

 arch/x86/include/asm/perf_event_p4.h  |   14 +++---------
 arch/x86/include/asm/processor.h      |   10 +++++++++
 arch/x86/include/asm/smp.h            |   17 ++++----------
 arch/x86/include/asm/topology.h       |    8 +++----
 arch/x86/kernel/apic/apic_numachip.c  |    2 +-
 arch/x86/kernel/cpu/amd.c             |   19 +++++-----------
 arch/x86/kernel/cpu/common.c          |    5 +++++
 arch/x86/kernel/cpu/intel_cacheinfo.c |   11 ++--------
 arch/x86/kernel/cpu/mcheck/mce_amd.c  |    2 --
 arch/x86/kernel/cpu/perf_event_p4.c   |    4 ++--
 arch/x86/kernel/cpu/proc.c            |    5 ++---
 arch/x86/kernel/process.c             |    5 ++---
 arch/x86/kernel/smpboot.c             |   39 +++++++--------------------------
 arch/x86/oprofile/nmi_int.c           |    6 -----
 arch/x86/oprofile/op_model_p4.c       |   11 +---------
 arch/x86/xen/smp.c                    |    6 -----
 drivers/cpufreq/p4-clockmod.c         |    2 --
 drivers/cpufreq/powernow-k8.c         |    7 ------
 drivers/cpufreq/speedstep-ich.c       |    2 --
 drivers/hwmon/coretemp.c              |    4 ----
 20 files changed, 48 insertions(+), 131 deletions(-)

-- 
1.7.9.5


  parent reply	other threads:[~2012-03-28 22:43 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-23 23:57 [PATCH v4 0/5] x86: Cleanup and simplify cpu-specific data Kevin Winchester
2012-02-23 23:57 ` [PATCH v4 1/5] x86: Move per cpu cpu_llc_shared_map to a field in struct cpuinfo_x86 Kevin Winchester
2012-02-23 23:57 ` [PATCH v4 2/5] x86: Move per cpu cpu_llc_id " Kevin Winchester
2012-02-23 23:57 ` [PATCH v4 3/5] x86: Move per cpu cpu_sibling_map " Kevin Winchester
2012-02-23 23:57 ` [PATCH v4 4/5] x86: Move per cpu cpu_core_map " Kevin Winchester
2012-02-23 23:57 ` [PATCH v4 5/5] x86: Remove #ifdef CONFIG_SMP sections by moving smp_num_siblings into common.c Kevin Winchester
2012-02-24 11:47 ` [PATCH v4 0/5] x86: Cleanup and simplify cpu-specific data Borislav Petkov
2012-02-24 12:22   ` Kevin Winchester
2012-02-24 12:30     ` Borislav Petkov
2012-02-27 11:59 ` Ingo Molnar
2012-02-28  0:52   ` Kevin Winchester
2012-02-28  3:43     ` H. Peter Anvin
2012-02-28  8:24       ` Ingo Molnar
2012-02-28  8:31         ` H. Peter Anvin
2012-03-01 13:06           ` Kevin Winchester
2012-03-01 13:45             ` Ingo Molnar
2012-03-28 22:43   ` Kevin Winchester [this message]
2012-03-28 22:43     ` [PATCH v5 1/5] x86: Move per cpu cpu_llc_shared_map to a field in struct cpuinfo_x86 Kevin Winchester
2012-03-28 22:43     ` [PATCH v5 2/5] x86: Move per cpu cpu_llc_id " Kevin Winchester
2012-03-28 22:43     ` [PATCH v5 3/5] x86: Move per cpu cpu_sibling_map " Kevin Winchester
2012-03-28 22:43     ` [PATCH v5 4/5] x86: Move per cpu cpu_core_map " Kevin Winchester
2012-03-28 22:43     ` [PATCH v5 5/5] x86: Remove #ifdef CONFIG_SMP sections by moving smp_num_siblings into common.c Kevin Winchester
2012-04-26 18:09     ` [PATCH v5 0/5] x86: Cleanup and simplify cpu-specific data Kevin Winchester
2012-04-26 19:48     ` H. Peter Anvin
     [not found]       ` <CAELBVzAi_yndZbDc0TkXhbqzn2wULpnsFMA_dop=Uvaii8tkqg@mail.gmail.com>
2012-04-26 21:21         ` H. Peter Anvin
2012-04-27 23:37           ` Kevin Winchester
2012-04-29 12:47             ` Borislav Petkov
2012-04-29 22:55               ` Kevin Winchester
2012-04-29 23:33           ` [PATCH v6 " Kevin Winchester
2012-04-29 23:33             ` [PATCH v6 1/5] x86: Move per cpu cpu_llc_shared_map to a field in struct cpuinfo_x86 Kevin Winchester
2012-04-29 23:37               ` H. Peter Anvin
2012-04-30 15:05                 ` Kevin Winchester
2012-05-07  8:32                   ` Ingo Molnar
2012-04-29 23:33             ` [PATCH v6 2/5] x86: Move per cpu cpu_llc_id " Kevin Winchester
2012-04-29 23:33             ` [PATCH v6 3/5] x86: Move per cpu cpu_sibling_map " Kevin Winchester
2012-04-29 23:33             ` [PATCH v6 4/5] x86: Move per cpu cpu_core_map " Kevin Winchester
2012-04-29 23:33             ` [PATCH v6 5/5] x86: Remove #ifdef CONFIG_SMP sections by moving smp_num_siblings into common.c Kevin Winchester

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=1332974587-15452-1-git-send-email-kjwinchester@gmail.com \
    --to=kjwinchester@gmail.com \
    --cc=bp@alien8.de \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=nbowler@elliptictech.com \
    --cc=rdunlap@xenotime.net \
    --cc=tglx@linutronix.de \
    /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.