Messages in this thread | | | From | Borislav Petkov <> | Subject | [PATCH 0/4] x86/cpufeature: Cleanup stuff more | Date | Tue, 1 Dec 2015 16:00:19 +0100 |
| |
From: Borislav Petkov <bp@suse.de>
Hi all,
this is the second submission. Changes from the previous one is that we're much more considerate so that we don't enlarge kernel .text and cause tinyconfig growth. Patch 4 adds a default-off config option which disables static_cpu_has* macros from being built and saves us ~1.6K .text. 0day report for this is:
i386-tinyconfig vmlinux size:
+-------+------+------+-----+---------------------------------------------------------------------------------+ | TOTAL | TEXT | DATA | BSS | | +-------+------+------+-----+---------------------------------------------------------------------------------+ | -1512 | -352 | 0 | 0 | df63d2e25f80 x86/cpu: Provide a config option to disable static_cpu_has | | +5 | 0 | 0 | 0 | 8b9e9097bf18 Merge remote-tracking branch 'tip/x86/cleanups' into cpufeature-v3 | | -1507 | -352 | 0 | 0 | ALL COMMITS | +-------+------+------+-----+---------------------------------------------------------------------------------+
The remaining cpu_has_xx uglies will be handled later, in a follow-up patchset.
Thanks.
Changelog:
v0:
so this should take care of cleaning up some aspects of our cpufeatures handling.
Patches should be pretty self-explanatory but let me send them out as an RFC - I might've missed something obvious of the sort "but but, you can't do that..."
Borislav Petkov (4): x86/cpufeature: Move some of the scattered feature bits to x86_capability x86/cpufeature: Cleanup get_cpu_cap() x86/cpufeature: Remove unused and seldomly used cpu_has_xx macros x86/cpu: Provide a config option to disable static_cpu_has
arch/x86/Kconfig | 11 +++ arch/x86/crypto/chacha20_glue.c | 2 +- arch/x86/crypto/crc32c-intel_glue.c | 2 +- arch/x86/include/asm/cmpxchg_32.h | 2 +- arch/x86/include/asm/cmpxchg_64.h | 2 +- arch/x86/include/asm/cpufeature.h | 115 ++++++++++++++-------------- arch/x86/include/asm/xor_32.h | 2 +- arch/x86/kernel/cpu/amd.c | 4 +- arch/x86/kernel/cpu/centaur.c | 2 +- arch/x86/kernel/cpu/common.c | 52 +++++++------ arch/x86/kernel/cpu/intel.c | 3 +- arch/x86/kernel/cpu/intel_cacheinfo.c | 6 +- arch/x86/kernel/cpu/mtrr/generic.c | 2 +- arch/x86/kernel/cpu/mtrr/main.c | 2 +- arch/x86/kernel/cpu/perf_event_amd.c | 4 +- arch/x86/kernel/cpu/perf_event_amd_uncore.c | 11 +-- arch/x86/kernel/cpu/scattered.c | 20 ----- arch/x86/kernel/cpu/transmeta.c | 4 +- arch/x86/kernel/fpu/init.c | 4 +- arch/x86/kernel/hw_breakpoint.c | 6 +- arch/x86/kernel/smpboot.c | 2 +- arch/x86/kernel/vm86_32.c | 4 +- arch/x86/mm/setup_nx.c | 4 +- drivers/char/hw_random/via-rng.c | 5 +- drivers/crypto/padlock-aes.c | 2 +- drivers/crypto/padlock-sha.c | 2 +- drivers/iommu/intel_irq_remapping.c | 2 +- fs/btrfs/disk-io.c | 2 +- 28 files changed, 141 insertions(+), 138 deletions(-)
-- 2.3.5
| |