xref: /linux/kernel/sched/Makefile (revision 3f0a50f345f78183f6e9b39c2f45ca5dcaa511ca)
1# SPDX-License-Identifier: GPL-2.0
2
3# The compilers are complaining about unused variables inside an if(0) scope
4# block. This is daft, shut them up.
5ccflags-y += $(call cc-disable-warning, unused-but-set-variable)
6
7# These files are disabled because they produce non-interesting flaky coverage
8# that is not a function of syscall inputs. E.g. involuntary context switches.
9KCOV_INSTRUMENT := n
10
11# Disable KCSAN to avoid excessive noise and performance degradation. To avoid
12# false positives ensure barriers implied by sched functions are instrumented.
13KCSAN_SANITIZE := n
14KCSAN_INSTRUMENT_BARRIERS := y
15
16ifneq ($(CONFIG_SCHED_OMIT_FRAME_POINTER),y)
17# According to Alan Modra <alan@linuxcare.com.au>, the -fno-omit-frame-pointer is
18# needed for x86 only.  Why this used to be enabled for all architectures is beyond
19# me.  I suspect most platforms don't need this, but until we know that for sure
20# I turn this off for IA-64 only.  Andreas Schwab says it's also needed on m68k
21# to get a correct value for the wait-channel (WCHAN in ps). --davidm
22CFLAGS_core.o := $(PROFILING) -fno-omit-frame-pointer
23endif
24
25#
26# Build efficiency:
27#
28# These compilation units have roughly the same size and complexity - so their
29# build parallelizes well and finishes roughly at once:
30#
31obj-y += core.o
32obj-y += fair.o
33obj-y += build_policy.o
34obj-y += build_utility.o
35