Messages in this thread | | | Date | Tue, 1 Dec 2015 08:24:45 -0800 | From | Josh Triplett <> | Subject | Re: [PATCH 4/4] x86/cpu: Provide a config option to disable static_cpu_has |
| |
On Tue, Dec 01, 2015 at 04:00:23PM +0100, Borislav Petkov wrote: > From: Borislav Petkov <bp@suse.de> > > This brings .text savings of about ~1.6K when building a tinyconfig. It > is off by default so nothing changes for the default. > > Kconfig help text from Josh. > > Signed-off-by: Borislav Petkov <bp@suse.de> > Cc: Josh Triplett <josh@joshtriplett.org>
Assuming this passes the kernel build robot, then: Reviewed-by: Josh Triplett <josh@joshtriplett.org>
> arch/x86/Kconfig | 11 +++++++++++ > arch/x86/include/asm/cpufeature.h | 2 +- > 2 files changed, 12 insertions(+), 1 deletion(-) > > diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig > index db3622f22b61..a2abc2fb6970 100644 > --- a/arch/x86/Kconfig > +++ b/arch/x86/Kconfig > @@ -349,6 +349,17 @@ config X86_FEATURE_NAMES > > If in doubt, say Y. > > +config X86_FAST_FEATURE_TESTS > + bool "Fast CPU feature tests" if EMBEDDED > + default y > + ---help--- > + Some fast-paths in the kernel depend on the capabilities of the CPU. > + Say Y here for the kernel to patch in the appropriate code at runtime > + based on the capabilities of the CPU. The infrastructure for patching > + code at runtime takes up some additional space; space-constrained > + embedded systems may wish to say N here to produce smaller, slightly > + slower code. > + > config X86_X2APIC > bool "Support x2apic" > depends on X86_LOCAL_APIC && X86_64 && (IRQ_REMAP || HYPERVISOR_GUEST) > diff --git a/arch/x86/include/asm/cpufeature.h b/arch/x86/include/asm/cpufeature.h > index 144b042c0872..43e144474043 100644 > --- a/arch/x86/include/asm/cpufeature.h > +++ b/arch/x86/include/asm/cpufeature.h > @@ -409,7 +409,7 @@ extern const char * const x86_bug_flags[NBUGINTS*32]; > * fast paths and boot_cpu_has() otherwise! > */ > > -#if __GNUC__ >= 4 > +#if __GNUC__ >= 4 && defined(CONFIG_X86_FAST_FEATURE_TESTS) > extern void warn_pre_alternatives(void); > extern bool __static_cpu_has_safe(u16 bit); > > -- > 2.3.5 >
| |