GNU Linux-libre 5.17.9-gnu
[releases.git] / kernel / sched / Makefile
1 # SPDX-License-Identifier: GPL-2.0
2 ifdef CONFIG_FUNCTION_TRACER
3 CFLAGS_REMOVE_clock.o = $(CC_FLAGS_FTRACE)
4 endif
5
6 # The compilers are complaining about unused variables inside an if(0) scope
7 # block. This is daft, shut them up.
8 ccflags-y += $(call cc-disable-warning, unused-but-set-variable)
9
10 # These files are disabled because they produce non-interesting flaky coverage
11 # that is not a function of syscall inputs. E.g. involuntary context switches.
12 KCOV_INSTRUMENT := n
13
14 # Disable KCSAN to avoid excessive noise and performance degradation. To avoid
15 # false positives ensure barriers implied by sched functions are instrumented.
16 KCSAN_SANITIZE := n
17 KCSAN_INSTRUMENT_BARRIERS := y
18
19 ifneq ($(CONFIG_SCHED_OMIT_FRAME_POINTER),y)
20 # According to Alan Modra <alan@linuxcare.com.au>, the -fno-omit-frame-pointer is
21 # needed for x86 only.  Why this used to be enabled for all architectures is beyond
22 # me.  I suspect most platforms don't need this, but until we know that for sure
23 # I turn this off for IA-64 only.  Andreas Schwab says it's also needed on m68k
24 # to get a correct value for the wait-channel (WCHAN in ps). --davidm
25 CFLAGS_core.o := $(PROFILING) -fno-omit-frame-pointer
26 endif
27
28 obj-y += core.o loadavg.o clock.o cputime.o
29 obj-y += idle.o fair.o rt.o deadline.o
30 obj-y += wait.o wait_bit.o swait.o completion.o
31
32 obj-$(CONFIG_SMP) += cpupri.o cpudeadline.o topology.o stop_task.o pelt.o
33 obj-$(CONFIG_SCHED_AUTOGROUP) += autogroup.o
34 obj-$(CONFIG_SCHEDSTATS) += stats.o
35 obj-$(CONFIG_SCHED_DEBUG) += debug.o
36 obj-$(CONFIG_CGROUP_CPUACCT) += cpuacct.o
37 obj-$(CONFIG_CPU_FREQ) += cpufreq.o
38 obj-$(CONFIG_CPU_FREQ_GOV_SCHEDUTIL) += cpufreq_schedutil.o
39 obj-$(CONFIG_MEMBARRIER) += membarrier.o
40 obj-$(CONFIG_CPU_ISOLATION) += isolation.o
41 obj-$(CONFIG_PSI) += psi.o
42 obj-$(CONFIG_SCHED_CORE) += core_sched.o