blob: c83b37af155b1d45862de2aa050a13ac74843cd0 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001# SPDX-License-Identifier: GPL-2.0
Peter Zijlstra391e43d2011-11-15 17:14:39 +01002ifdef CONFIG_FUNCTION_TRACER
Heiko Carstensc0a80c02015-01-09 13:06:33 +01003CFLAGS_REMOVE_clock.o = $(CC_FLAGS_FTRACE)
Peter Zijlstra391e43d2011-11-15 17:14:39 +01004endif
5
Peter Zijlstra37b47292021-10-12 16:08:07 +02006# The compilers are complaining about unused variables inside an if(0) scope
7# block. This is daft, shut them up.
8ccflags-y += $(call cc-disable-warning, unused-but-set-variable)
9
Dmitry Vyukov5c9a8752016-03-22 14:27:30 -070010# 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.
12KCOV_INSTRUMENT := n
13
Marco Elver6f3f0c92021-11-30 12:44:29 +010014# Disable KCSAN to avoid excessive noise and performance degradation. To avoid
15# false positives ensure barriers implied by sched functions are instrumented.
Marco Elver0ebba712019-11-14 19:02:58 +010016KCSAN_SANITIZE := n
Marco Elver6f3f0c92021-11-30 12:44:29 +010017KCSAN_INSTRUMENT_BARRIERS := y
Marco Elver0ebba712019-11-14 19:02:58 +010018
Peter Zijlstra391e43d2011-11-15 17:14:39 +010019ifneq ($(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
25CFLAGS_core.o := $(PROFILING) -fno-omit-frame-pointer
26endif
27
Peter Zijlstra3289bdb2015-04-14 13:19:42 +020028obj-y += core.o loadavg.o clock.o cputime.o
Ingo Molnara92057e2018-03-03 15:44:39 +010029obj-y += idle.o fair.o rt.o deadline.o
30obj-y += wait.o wait_bit.o swait.o completion.o
31
Vincent Guittotc0796292018-06-28 17:45:04 +020032obj-$(CONFIG_SMP) += cpupri.o cpudeadline.o topology.o stop_task.o pelt.o
Ingo Molnar10514082017-02-01 18:42:41 +010033obj-$(CONFIG_SCHED_AUTOGROUP) += autogroup.o
Peter Zijlstra391e43d2011-11-15 17:14:39 +010034obj-$(CONFIG_SCHEDSTATS) += stats.o
35obj-$(CONFIG_SCHED_DEBUG) += debug.o
Li Zefan2e76c242013-03-29 14:36:31 +080036obj-$(CONFIG_CGROUP_CPUACCT) += cpuacct.o
Rafael J. Wysockiadaf9fc2016-03-10 20:44:47 +010037obj-$(CONFIG_CPU_FREQ) += cpufreq.o
Rafael J. Wysocki9bdcb442016-04-02 01:09:12 +020038obj-$(CONFIG_CPU_FREQ_GOV_SCHEDUTIL) += cpufreq_schedutil.o
Mathieu Desnoyers22e4ebb2017-07-28 16:40:40 -040039obj-$(CONFIG_MEMBARRIER) += membarrier.o
Frederic Weisbecker5c4991e2017-10-27 04:42:34 +020040obj-$(CONFIG_CPU_ISOLATION) += isolation.o
Johannes Weinereb414682018-10-26 15:06:27 -070041obj-$(CONFIG_PSI) += psi.o
Peter Zijlstra6e33cad2021-03-26 18:55:06 +010042obj-$(CONFIG_SCHED_CORE) += core_sched.o