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