* Re: [PATCH v6 0/5] x86: Cleanup and simplify cpu-specific data
@ 2017-01-15 19:39 Borislav Petkov
[not found] ` <CAELBVzCAU_nKrmXOzd6-bsxbY7tdq8mG4xnuwdiem_0wo1EwZw@mail.gmail.com>
0 siblings, 1 reply; 3+ messages in thread
From: Borislav Petkov @ 2017-01-15 19:39 UTC (permalink / raw)
To: Kevin Winchester
Cc: hpa, Ingo Molnar, Thomas Gleixner, Randy Dunlap, Nick Bowler,
linux-kernel
Sorry for top-posting but I'm reviving an old thread so I'm excused :-)
So looking at those in my mbox, they look like nice cleanup and are not
upstream. What's the story, was there a "we don't want them because ..."
argument somewhere or what's up?
If not, we probably should redo them and get them at least looked at in
detail.
Hmmm?
On Sun, Apr 29, 2012 at 08:33:25PM -0300, Kevin Winchester 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 v6:
> - Rebased series against mainline 3.4-rc5
>
> 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 | 3 +--
> 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(+), 132 deletions(-)
>
> --
> 1.7.10
>
>
--
Regards/Gruss,
Boris.
Good mailing practices for 400: avoid top-posting and trim the reply.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v5 0/5] x86: Cleanup and simplify cpu-specific data
@ 2012-04-26 21:21 H. Peter Anvin
2012-04-29 23:33 ` [PATCH v6 " Kevin Winchester
0 siblings, 1 reply; 3+ messages in thread
From: H. Peter Anvin @ 2012-04-26 21:21 UTC (permalink / raw)
To: Kevin Winchester
Cc: Nick Bowler, Thomas Gleixner, Ingo Molnar, linux-kernel,
Randy Dunlap, Borislav Petkov
Against mainline would be better, unless it actively conflicts with something in tip.
Kevin Winchester <kjwinchester@gmail.com> wrote:
>On Apr 26, 2012 4:49 PM, "H. Peter Anvin" <hpa@zytor.com> wrote:
>>
>> On 03/28/2012 03:43 PM, Kevin Winchester 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
>> >
>>
>> I applied this patchset on top of v3.4-rc4 (to get a clean topic
>branch)
>> and ran into the following build problems:
>>
>> i386 "allnoconfig":
>>
>> /home/hpa/kernel/tip.x86-cpu/arch/x86/kernel/process.c: In function
>> ‘select_idle_routine’:
>> /home/hpa/kernel/tip.x86-cpu/arch/x86/kernel/process.c:679:30: error:
>> ‘smp_num_siblings’ undeclared (first use in this function)
>> /home/hpa/kernel/tip.x86-cpu/arch/x86/kernel/process.c:679:30: note:
>> each undeclared identifier is reported only once for each function it
>> appears in
>>
>> i386 "allyesconfig" and "allmodconfig":
>>
>> /home/hpa/kernel/tip.x86-cpu/drivers/cpufreq/speedstep-ich.c: In
>> function ‘speedstep_cpu_init’:
>> /home/hpa/kernel/tip.x86-cpu/drivers/cpufreq/speedstep-ich.c:337:2:
>> error: incompatible type for argument 2 of ‘cpumask_copy’
>> /home/hpa/kernel/tip.x86-cpu/include/linux/cpumask.h:483:20: note:
>> expected ‘const struct cpumask *’ but argument is of type ‘cpumask_t’
>>
>> I will try it again against tip:master, but it looks to have the same
>> problems.
>>
>
>I'm pretty sure I tested at least some of those configurations, so
>maybe
>something has changed since I last tried it against tip/master. I'll
>rebase
>and fix up - would you prefer the series against mainline or tip?
>
>Kevin
--
Sent from my mobile phone. Please excuse brevity and lack of formatting.
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH v6 0/5] x86: Cleanup and simplify cpu-specific data
2012-04-26 21:21 [PATCH v5 " H. Peter Anvin
@ 2012-04-29 23:33 ` Kevin Winchester
0 siblings, 0 replies; 3+ messages in thread
From: Kevin Winchester @ 2012-04-29 23:33 UTC (permalink / raw)
To: hpa, Ingo Molnar
Cc: Kevin Winchester, Thomas Gleixner, Borislav Petkov, Randy Dunlap,
Nick Bowler, linux-kernel
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 v6:
- Rebased series against mainline 3.4-rc5
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 | 3 +--
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(+), 132 deletions(-)
--
1.7.10
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-01-22 18:01 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-01-15 19:39 [PATCH v6 0/5] x86: Cleanup and simplify cpu-specific data Borislav Petkov
[not found] ` <CAELBVzCAU_nKrmXOzd6-bsxbY7tdq8mG4xnuwdiem_0wo1EwZw@mail.gmail.com>
2017-01-22 17:50 ` Borislav Petkov
-- strict thread matches above, loose matches on Subject: below --
2012-04-26 21:21 [PATCH v5 " H. Peter Anvin
2012-04-29 23:33 ` [PATCH v6 " Kevin Winchester
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).