sched: Move all scheduler bits into kernel/sched/
There's too many sched*.[ch] files in kernel/, give them their own
directory.
(No code changed, other than Makefile glue added.)
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
diff --git a/kernel/Makefile b/kernel/Makefile
index 1a4d37d..f70396e 100644
--- a/kernel/Makefile
+++ b/kernel/Makefile
@@ -9,14 +9,9 @@
rcupdate.o extable.o params.o posix-timers.o \
kthread.o wait.o kfifo.o sys_ni.o posix-cpu-timers.o mutex.o \
hrtimer.o rwsem.o nsproxy.o srcu.o semaphore.o \
- notifier.o ksysfs.o sched_clock.o cred.o \
+ notifier.o ksysfs.o cred.o \
async.o range.o groups.o
-obj-y += sched.o sched_idletask.o sched_fair.o sched_rt.o sched_stoptask.o
-obj-$(CONFIG_SCHED_AUTOGROUP) += sched_autogroup.o
-obj-$(CONFIG_SCHEDSTATS) += sched_stats.o
-obj-$(CONFIG_SCHED_DEBUG) += sched_debug.o
-
ifdef CONFIG_FUNCTION_TRACER
# Do not trace debug files and internal ftrace files
CFLAGS_REMOVE_lockdep.o = -pg
@@ -24,10 +19,11 @@
CFLAGS_REMOVE_mutex-debug.o = -pg
CFLAGS_REMOVE_rtmutex-debug.o = -pg
CFLAGS_REMOVE_cgroup-debug.o = -pg
-CFLAGS_REMOVE_sched_clock.o = -pg
CFLAGS_REMOVE_irq_work.o = -pg
endif
+obj-y += sched/
+
obj-$(CONFIG_FREEZER) += freezer.o
obj-$(CONFIG_PROFILING) += profile.o
obj-$(CONFIG_SYSCTL_SYSCALL_CHECK) += sysctl_check.o
@@ -103,7 +99,6 @@
obj-$(CONFIG_X86_DS) += trace/
obj-$(CONFIG_RING_BUFFER) += trace/
obj-$(CONFIG_TRACEPOINTS) += trace/
-obj-$(CONFIG_SMP) += sched_cpupri.o
obj-$(CONFIG_IRQ_WORK) += irq_work.o
obj-$(CONFIG_CPU_PM) += cpu_pm.o
@@ -114,15 +109,6 @@
obj-$(CONFIG_CRASH_DUMP) += crash_dump.o
obj-$(CONFIG_JUMP_LABEL) += jump_label.o
-ifneq ($(CONFIG_SCHED_OMIT_FRAME_POINTER),y)
-# According to Alan Modra <alan@linuxcare.com.au>, the -fno-omit-frame-pointer is
-# needed for x86 only. Why this used to be enabled for all architectures is beyond
-# me. I suspect most platforms don't need this, but until we know that for sure
-# I turn this off for IA-64 only. Andreas Schwab says it's also needed on m68k
-# to get a correct value for the wait-channel (WCHAN in ps). --davidm
-CFLAGS_sched.o := $(PROFILING) -fno-omit-frame-pointer
-endif
-
$(obj)/configs.o: $(obj)/config_data.h
# config_data.h contains the same information as ikconfig.h but gzipped.
diff --git a/kernel/sched/Makefile b/kernel/sched/Makefile
new file mode 100644
index 0000000..9a7dd35
--- /dev/null
+++ b/kernel/sched/Makefile
@@ -0,0 +1,20 @@
+ifdef CONFIG_FUNCTION_TRACER
+CFLAGS_REMOVE_clock.o = -pg
+endif
+
+ifneq ($(CONFIG_SCHED_OMIT_FRAME_POINTER),y)
+# According to Alan Modra <alan@linuxcare.com.au>, the -fno-omit-frame-pointer is
+# needed for x86 only. Why this used to be enabled for all architectures is beyond
+# me. I suspect most platforms don't need this, but until we know that for sure
+# I turn this off for IA-64 only. Andreas Schwab says it's also needed on m68k
+# to get a correct value for the wait-channel (WCHAN in ps). --davidm
+CFLAGS_core.o := $(PROFILING) -fno-omit-frame-pointer
+endif
+
+obj-y += core.o clock.o idle_task.o fair.o rt.o stop_task.o
+obj-$(CONFIG_SMP) += cpupri.o
+obj-$(CONFIG_SCHED_AUTOGROUP) += auto_group.o
+obj-$(CONFIG_SCHEDSTATS) += stats.o
+obj-$(CONFIG_SCHED_DEBUG) += debug.o
+
+
diff --git a/kernel/sched_autogroup.c b/kernel/sched/auto_group.c
similarity index 100%
rename from kernel/sched_autogroup.c
rename to kernel/sched/auto_group.c
diff --git a/kernel/sched_autogroup.h b/kernel/sched/auto_group.h
similarity index 100%
rename from kernel/sched_autogroup.h
rename to kernel/sched/auto_group.h
diff --git a/kernel/sched_clock.c b/kernel/sched/clock.c
similarity index 100%
rename from kernel/sched_clock.c
rename to kernel/sched/clock.c
diff --git a/kernel/sched.c b/kernel/sched/core.c
similarity index 99%
rename from kernel/sched.c
rename to kernel/sched/core.c
index 2ffccee..ca8fd44 100644
--- a/kernel/sched.c
+++ b/kernel/sched/core.c
@@ -1,5 +1,5 @@
/*
- * kernel/sched.c
+ * kernel/sched/core.c
*
* Kernel scheduler and related syscalls
*
@@ -79,7 +79,7 @@
#endif
#include "sched.h"
-#include "workqueue_sched.h"
+#include "../workqueue_sched.h"
#define CREATE_TRACE_POINTS
#include <trace/events/sched.h>
@@ -129,7 +129,7 @@
(1UL << __SCHED_FEAT_##name) * enabled |
const_debug unsigned int sysctl_sched_features =
-#include "sched_features.h"
+#include "features.h"
0;
#undef SCHED_FEAT
@@ -139,7 +139,7 @@
#name ,
static __read_mostly char *sched_feat_names[] = {
-#include "sched_features.h"
+#include "features.h"
NULL
};
diff --git a/kernel/sched_cpupri.c b/kernel/sched/cpupri.c
similarity index 98%
rename from kernel/sched_cpupri.c
rename to kernel/sched/cpupri.c
index a86cf9d..b0d798e 100644
--- a/kernel/sched_cpupri.c
+++ b/kernel/sched/cpupri.c
@@ -1,5 +1,5 @@
/*
- * kernel/sched_cpupri.c
+ * kernel/sched/cpupri.c
*
* CPU priority management
*
@@ -28,7 +28,7 @@
*/
#include <linux/gfp.h>
-#include "sched_cpupri.h"
+#include "cpupri.h"
/* Convert between a 140 based task->prio, and our 102 based cpupri */
static int convert_prio(int prio)
diff --git a/kernel/sched_cpupri.h b/kernel/sched/cpupri.h
similarity index 100%
rename from kernel/sched_cpupri.h
rename to kernel/sched/cpupri.h
diff --git a/kernel/sched_debug.c b/kernel/sched/debug.c
similarity index 99%
rename from kernel/sched_debug.c
rename to kernel/sched/debug.c
index ce1a85f..2a075e1 100644
--- a/kernel/sched_debug.c
+++ b/kernel/sched/debug.c
@@ -1,5 +1,5 @@
/*
- * kernel/time/sched_debug.c
+ * kernel/sched/debug.c
*
* Print the CFS rbtree
*
diff --git a/kernel/sched_fair.c b/kernel/sched/fair.c
similarity index 100%
rename from kernel/sched_fair.c
rename to kernel/sched/fair.c
diff --git a/kernel/sched_features.h b/kernel/sched/features.h
similarity index 100%
rename from kernel/sched_features.h
rename to kernel/sched/features.h
diff --git a/kernel/sched_idletask.c b/kernel/sched/idle_task.c
similarity index 100%
rename from kernel/sched_idletask.c
rename to kernel/sched/idle_task.c
diff --git a/kernel/sched_rt.c b/kernel/sched/rt.c
similarity index 100%
rename from kernel/sched_rt.c
rename to kernel/sched/rt.c
diff --git a/kernel/sched.h b/kernel/sched/sched.h
similarity index 99%
rename from kernel/sched.h
rename to kernel/sched/sched.h
index 675261c..c2e7802 100644
--- a/kernel/sched.h
+++ b/kernel/sched/sched.h
@@ -4,7 +4,7 @@
#include <linux/spinlock.h>
#include <linux/stop_machine.h>
-#include "sched_cpupri.h"
+#include "cpupri.h"
extern __read_mostly int scheduler_running;
@@ -507,8 +507,8 @@
#define cpu_curr(cpu) (cpu_rq(cpu)->curr)
#define raw_rq() (&__raw_get_cpu_var(runqueues))
-#include "sched_stats.h"
-#include "sched_autogroup.h"
+#include "stats.h"
+#include "auto_group.h"
#ifdef CONFIG_CGROUP_SCHED
@@ -590,7 +590,7 @@
__SCHED_FEAT_##name ,
enum {
-#include "sched_features.h"
+#include "features.h"
};
#undef SCHED_FEAT
diff --git a/kernel/sched_stats.c b/kernel/sched/stats.c
similarity index 100%
rename from kernel/sched_stats.c
rename to kernel/sched/stats.c
diff --git a/kernel/sched_stats.h b/kernel/sched/stats.h
similarity index 100%
rename from kernel/sched_stats.h
rename to kernel/sched/stats.h
diff --git a/kernel/sched_stoptask.c b/kernel/sched/stop_task.c
similarity index 100%
rename from kernel/sched_stoptask.c
rename to kernel/sched/stop_task.c