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
next prev 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.