[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAELBVzDdmb38i5Nnyg8EY8z8ZfE+aj74oxKL_pXDwAjatOeQxg@mail.gmail.com>
Date: Thu, 26 Apr 2012 15:09:59 -0300
From: Kevin Winchester <kjwinchester@...il.com>
To: Ingo Molnar <mingo@...e.hu>
Cc: "H. Peter Anvin" <hpa@...or.com>,
Thomas Gleixner <tglx@...utronix.de>,
Borislav Petkov <bp@...en8.de>,
Randy Dunlap <rdunlap@...otime.net>,
Nick Bowler <nbowler@...iptictech.com>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v5 0/5] x86: Cleanup and simplify cpu-specific data
On 28 March 2012 19:43, Kevin Winchester <kjwinchester@...il.com> wrote:
> 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(-)
>
I know I sent this right at the last merge window, so it likely
slipped under your radar. If you still want it, please let me know if
there is anything that you think should be improved.
--
Kevin
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists