xref: /linux/kernel/sched/Makefile (revision 02680c23d7b3febe45ea3d4f9818c2b2dc89020a)
1# SPDX-License-Identifier: GPL-2.0
2ifdef CONFIG_FUNCTION_TRACER
3CFLAGS_REMOVE_clock.o = $(CC_FLAGS_FTRACE)
4endif
5
6# These files are disabled because they produce non-interesting flaky coverage
7# that is not a function of syscall inputs. E.g. involuntary context switches.
8KCOV_INSTRUMENT := n
9
10# There are numerous data races here, however, most of them are due to plain accesses.
11# This would make it even harder for syzbot to find reproducers, because these
12# bugs trigger without specific input. Disable by default, but should re-enable
13# eventually.
14KCSAN_SANITIZE := n
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
25obj-y += core.o loadavg.o clock.o cputime.o
26obj-y += idle.o fair.o rt.o deadline.o
27obj-y += wait.o wait_bit.o swait.o completion.o
28
29obj-$(CONFIG_SMP) += cpupri.o cpudeadline.o topology.o stop_task.o pelt.o
30obj-$(CONFIG_SCHED_AUTOGROUP) += autogroup.o
31obj-$(CONFIG_SCHEDSTATS) += stats.o
32obj-$(CONFIG_SCHED_DEBUG) += debug.o
33obj-$(CONFIG_CGROUP_CPUACCT) += cpuacct.o
34obj-$(CONFIG_CPU_FREQ) += cpufreq.o
35obj-$(CONFIG_CPU_FREQ_GOV_SCHEDUTIL) += cpufreq_schedutil.o
36obj-$(CONFIG_MEMBARRIER) += membarrier.o
37obj-$(CONFIG_CPU_ISOLATION) += isolation.o
38obj-$(CONFIG_PSI) += psi.o
39