sched: Move struct sched_class to kernel/sched/sched.h
authorLi Zefan <lizefan@huawei.com>
Tue, 5 Mar 2013 08:06:55 +0000 (16:06 +0800)
committerIngo Molnar <mingo@kernel.org>
Wed, 6 Mar 2013 10:24:33 +0000 (11:24 +0100)
It's used internally only.

Signed-off-by: Li Zefan <lizefan@huawei.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/5135A79F.8090502@huawei.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
include/linux/sched.h
kernel/sched/sched.h

index 863b505..04b834f 100644 (file)
@@ -917,65 +917,6 @@ struct mempolicy;
 struct pipe_inode_info;
 struct uts_namespace;
 
-struct rq;
-struct sched_domain;
-
-#define ENQUEUE_WAKEUP         1
-#define ENQUEUE_HEAD           2
-#ifdef CONFIG_SMP
-#define ENQUEUE_WAKING         4       /* sched_class::task_waking was called */
-#else
-#define ENQUEUE_WAKING         0
-#endif
-
-#define DEQUEUE_SLEEP          1
-
-struct sched_class {
-       const struct sched_class *next;
-
-       void (*enqueue_task) (struct rq *rq, struct task_struct *p, int flags);
-       void (*dequeue_task) (struct rq *rq, struct task_struct *p, int flags);
-       void (*yield_task) (struct rq *rq);
-       bool (*yield_to_task) (struct rq *rq, struct task_struct *p, bool preempt);
-
-       void (*check_preempt_curr) (struct rq *rq, struct task_struct *p, int flags);
-
-       struct task_struct * (*pick_next_task) (struct rq *rq);
-       void (*put_prev_task) (struct rq *rq, struct task_struct *p);
-
-#ifdef CONFIG_SMP
-       int  (*select_task_rq)(struct task_struct *p, int sd_flag, int flags);
-       void (*migrate_task_rq)(struct task_struct *p, int next_cpu);
-
-       void (*pre_schedule) (struct rq *this_rq, struct task_struct *task);
-       void (*post_schedule) (struct rq *this_rq);
-       void (*task_waking) (struct task_struct *task);
-       void (*task_woken) (struct rq *this_rq, struct task_struct *task);
-
-       void (*set_cpus_allowed)(struct task_struct *p,
-                                const struct cpumask *newmask);
-
-       void (*rq_online)(struct rq *rq);
-       void (*rq_offline)(struct rq *rq);
-#endif
-
-       void (*set_curr_task) (struct rq *rq);
-       void (*task_tick) (struct rq *rq, struct task_struct *p, int queued);
-       void (*task_fork) (struct task_struct *p);
-
-       void (*switched_from) (struct rq *this_rq, struct task_struct *task);
-       void (*switched_to) (struct rq *this_rq, struct task_struct *task);
-       void (*prio_changed) (struct rq *this_rq, struct task_struct *task,
-                            int oldprio);
-
-       unsigned int (*get_rr_interval) (struct rq *rq,
-                                        struct task_struct *task);
-
-#ifdef CONFIG_FAIR_GROUP_SCHED
-       void (*task_move_group) (struct task_struct *p, int on_rq);
-#endif
-};
-
 struct load_weight {
        unsigned long weight, inv_weight;
 };
index 4e5c2af..eca526d 100644 (file)
@@ -951,6 +951,61 @@ enum cpuacct_stat_index {
        CPUACCT_STAT_NSTATS,
 };
 
+#define ENQUEUE_WAKEUP         1
+#define ENQUEUE_HEAD           2
+#ifdef CONFIG_SMP
+#define ENQUEUE_WAKING         4       /* sched_class::task_waking was called */
+#else
+#define ENQUEUE_WAKING         0
+#endif
+
+#define DEQUEUE_SLEEP          1
+
+struct sched_class {
+       const struct sched_class *next;
+
+       void (*enqueue_task) (struct rq *rq, struct task_struct *p, int flags);
+       void (*dequeue_task) (struct rq *rq, struct task_struct *p, int flags);
+       void (*yield_task) (struct rq *rq);
+       bool (*yield_to_task) (struct rq *rq, struct task_struct *p, bool preempt);
+
+       void (*check_preempt_curr) (struct rq *rq, struct task_struct *p, int flags);
+
+       struct task_struct * (*pick_next_task) (struct rq *rq);
+       void (*put_prev_task) (struct rq *rq, struct task_struct *p);
+
+#ifdef CONFIG_SMP
+       int  (*select_task_rq)(struct task_struct *p, int sd_flag, int flags);
+       void (*migrate_task_rq)(struct task_struct *p, int next_cpu);
+
+       void (*pre_schedule) (struct rq *this_rq, struct task_struct *task);
+       void (*post_schedule) (struct rq *this_rq);
+       void (*task_waking) (struct task_struct *task);
+       void (*task_woken) (struct rq *this_rq, struct task_struct *task);
+
+       void (*set_cpus_allowed)(struct task_struct *p,
+                                const struct cpumask *newmask);
+
+       void (*rq_online)(struct rq *rq);
+       void (*rq_offline)(struct rq *rq);
+#endif
+
+       void (*set_curr_task) (struct rq *rq);
+       void (*task_tick) (struct rq *rq, struct task_struct *p, int queued);
+       void (*task_fork) (struct task_struct *p);
+
+       void (*switched_from) (struct rq *this_rq, struct task_struct *task);
+       void (*switched_to) (struct rq *this_rq, struct task_struct *task);
+       void (*prio_changed) (struct rq *this_rq, struct task_struct *task,
+                            int oldprio);
+
+       unsigned int (*get_rr_interval) (struct rq *rq,
+                                        struct task_struct *task);
+
+#ifdef CONFIG_FAIR_GROUP_SCHED
+       void (*task_move_group) (struct task_struct *p, int on_rq);
+#endif
+};
 
 #define sched_class_highest (&stop_sched_class)
 #define for_each_class(class) \