kbuild: use -flive-patching when CONFIG_LIVEPATCH is enabled
GCC 9 introduces a new option, -flive-patching. It disables certain optimizations which could make a compilation unsafe for later live patching of the running kernel. The option is used only if CONFIG_LIVEPATCH is enabled and $(CC) supports it. Performance impact of the option was measured on three different Intel machines - two bigger NUMA boxes and one smaller UMA box. Kernel intensive (IO, scheduling, networking) benchmarks were selected, plus a set of HPC workloads from NAS Parallel Benchmark. The tests were done on upstream kernel 5.0-rc8 with openSUSE Leap 15.0 userspace. The majority of the tests is unaffected. The only significant exception is the scheduler section which suffers 1-3% degradation. Evaluated-by: Giovanni Gherdovich <ggherdovich@suse.cz> Signed-off-by: Miroslav Benes <mbenes@suse.cz> Acked-by: Josh Poimboeuf <jpoimboe@redhat.com> Signed-off-by: Petr Mladek <pmladek@suse.com>
This commit is contained in:
parent
f9d1381456
commit
43bd3a95c9
4
Makefile
4
Makefile
@ -796,6 +796,10 @@ KBUILD_CFLAGS_KERNEL += -ffunction-sections -fdata-sections
|
|||||||
LDFLAGS_vmlinux += --gc-sections
|
LDFLAGS_vmlinux += --gc-sections
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifdef CONFIG_LIVEPATCH
|
||||||
|
KBUILD_CFLAGS += $(call cc-option, -flive-patching=inline-clone)
|
||||||
|
endif
|
||||||
|
|
||||||
# arch Makefile may override CC so keep this after arch Makefile is included
|
# arch Makefile may override CC so keep this after arch Makefile is included
|
||||||
NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)
|
NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user