aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/sched.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/sched.h')
-rw-r--r--include/linux/sched.h15
1 files changed, 10 insertions, 5 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 8478f334d73..644ffbda17c 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -247,6 +247,7 @@ extern void init_idle(struct task_struct *idle, int cpu);
247extern void init_idle_bootup_task(struct task_struct *idle); 247extern void init_idle_bootup_task(struct task_struct *idle);
248 248
249extern int runqueue_is_locked(void); 249extern int runqueue_is_locked(void);
250extern void task_rq_unlock_wait(struct task_struct *p);
250 251
251extern cpumask_t nohz_cpu_mask; 252extern cpumask_t nohz_cpu_mask;
252#if defined(CONFIG_SMP) && defined(CONFIG_NO_HZ) 253#if defined(CONFIG_SMP) && defined(CONFIG_NO_HZ)
@@ -936,7 +937,6 @@ struct sched_class {
936 void (*enqueue_task) (struct rq *rq, struct task_struct *p, int wakeup); 937 void (*enqueue_task) (struct rq *rq, struct task_struct *p, int wakeup);
937 void (*dequeue_task) (struct rq *rq, struct task_struct *p, int sleep); 938 void (*dequeue_task) (struct rq *rq, struct task_struct *p, int sleep);
938 void (*yield_task) (struct rq *rq); 939 void (*yield_task) (struct rq *rq);
939 int (*select_task_rq)(struct task_struct *p, int sync);
940 940
941 void (*check_preempt_curr) (struct rq *rq, struct task_struct *p, int sync); 941 void (*check_preempt_curr) (struct rq *rq, struct task_struct *p, int sync);
942 942
@@ -944,6 +944,8 @@ struct sched_class {
944 void (*put_prev_task) (struct rq *rq, struct task_struct *p); 944 void (*put_prev_task) (struct rq *rq, struct task_struct *p);
945 945
946#ifdef CONFIG_SMP 946#ifdef CONFIG_SMP
947 int (*select_task_rq)(struct task_struct *p, int sync);
948
947 unsigned long (*load_balance) (struct rq *this_rq, int this_cpu, 949 unsigned long (*load_balance) (struct rq *this_rq, int this_cpu,
948 struct rq *busiest, unsigned long max_load_move, 950 struct rq *busiest, unsigned long max_load_move,
949 struct sched_domain *sd, enum cpu_idle_type idle, 951 struct sched_domain *sd, enum cpu_idle_type idle,
@@ -955,16 +957,17 @@ struct sched_class {
955 void (*pre_schedule) (struct rq *this_rq, struct task_struct *task); 957 void (*pre_schedule) (struct rq *this_rq, struct task_struct *task);
956 void (*post_schedule) (struct rq *this_rq); 958 void (*post_schedule) (struct rq *this_rq);
957 void (*task_wake_up) (struct rq *this_rq, struct task_struct *task); 959 void (*task_wake_up) (struct rq *this_rq, struct task_struct *task);
958#endif
959 960
960 void (*set_curr_task) (struct rq *rq);
961 void (*task_tick) (struct rq *rq, struct task_struct *p, int queued);
962 void (*task_new) (struct rq *rq, struct task_struct *p);
963 void (*set_cpus_allowed)(struct task_struct *p, 961 void (*set_cpus_allowed)(struct task_struct *p,
964 const cpumask_t *newmask); 962 const cpumask_t *newmask);
965 963
966 void (*rq_online)(struct rq *rq); 964 void (*rq_online)(struct rq *rq);
967 void (*rq_offline)(struct rq *rq); 965 void (*rq_offline)(struct rq *rq);
966#endif
967
968 void (*set_curr_task) (struct rq *rq);
969 void (*task_tick) (struct rq *rq, struct task_struct *p, int queued);
970 void (*task_new) (struct rq *rq, struct task_struct *p);
968 971
969 void (*switched_from) (struct rq *this_rq, struct task_struct *task, 972 void (*switched_from) (struct rq *this_rq, struct task_struct *task,
970 int running); 973 int running);
@@ -1347,6 +1350,8 @@ struct task_struct {
1347 */ 1350 */
1348 unsigned long timer_slack_ns; 1351 unsigned long timer_slack_ns;
1349 unsigned long default_timer_slack_ns; 1352 unsigned long default_timer_slack_ns;
1353
1354 struct list_head *scm_work_list;
1350}; 1355};
1351 1356
1352/* 1357/*