diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-25 15:19:03 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-25 15:19:03 -0700 |
commit | fcd05809e1b2f64ece7a0b0bbe94ed29505cd2e0 (patch) | |
tree | b3adedf1e26e2ae36fe8a811462292fbb916451b /include/linux/sched.h | |
parent | f9e83489cbb3670df810d4f9fe308cde88faa0a9 (diff) | |
parent | 8ef93cf11413e3f2dc28bfaf736e1f49981ed700 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched
* git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched:
sched: mark CONFIG_FAIR_GROUP_SCHED as !EXPERIMENTAL
sched: isolate SMP balancing code a bit more
sched: reduce balance-tasks overhead
sched: make cpu_shares_{show,store}() static
sched: clean up some control group code
sched: constify sched.h
sched: document profile=sleep requiring CONFIG_SCHEDSTATS
sched: use show_regs() to improve __schedule_bug() output
sched: clean up sched_domain_debug()
sched: fix fastcall mismatch in completion APIs
sched: fix sched_domain sysctl registration again
Diffstat (limited to 'include/linux/sched.h')
-rw-r--r-- | include/linux/sched.h | 37 |
1 files changed, 21 insertions, 16 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h index 13df99fb276..24e08d1d900 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -828,12 +828,17 @@ struct sched_class { struct task_struct * (*pick_next_task) (struct rq *rq); void (*put_prev_task) (struct rq *rq, struct task_struct *p); +#ifdef CONFIG_SMP unsigned long (*load_balance) (struct rq *this_rq, int this_cpu, - struct rq *busiest, - unsigned long max_nr_move, unsigned long max_load_move, + struct rq *busiest, unsigned long max_load_move, struct sched_domain *sd, enum cpu_idle_type idle, int *all_pinned, int *this_best_prio); + int (*move_one_task) (struct rq *this_rq, int this_cpu, + struct rq *busiest, struct sched_domain *sd, + enum cpu_idle_type idle); +#endif + void (*set_curr_task) (struct rq *rq); void (*task_tick) (struct rq *rq, struct task_struct *p); void (*task_new) (struct rq *rq, struct task_struct *p); @@ -1196,7 +1201,7 @@ static inline int rt_prio(int prio) return 0; } -static inline int rt_task(struct task_struct *p) +static inline int rt_task(const struct task_struct *p) { return rt_prio(p->prio); } @@ -1211,22 +1216,22 @@ static inline void set_task_pgrp(struct task_struct *tsk, pid_t pgrp) tsk->signal->__pgrp = pgrp; } -static inline struct pid *task_pid(struct task_struct *task) +static inline struct pid *task_pid(const struct task_struct *task) { return task->pids[PIDTYPE_PID].pid; } -static inline struct pid *task_tgid(struct task_struct *task) +static inline struct pid *task_tgid(const struct task_struct *task) { return task->group_leader->pids[PIDTYPE_PID].pid; } -static inline struct pid *task_pgrp(struct task_struct *task) +static inline struct pid *task_pgrp(const struct task_struct *task) { return task->group_leader->pids[PIDTYPE_PGID].pid; } -static inline struct pid *task_session(struct task_struct *task) +static inline struct pid *task_session(const struct task_struct *task) { return task->group_leader->pids[PIDTYPE_SID].pid; } @@ -1255,7 +1260,7 @@ struct pid_namespace; * see also pid_nr() etc in include/linux/pid.h */ -static inline pid_t task_pid_nr(struct task_struct *tsk) +static inline pid_t task_pid_nr(const struct task_struct *tsk) { return tsk->pid; } @@ -1268,7 +1273,7 @@ static inline pid_t task_pid_vnr(struct task_struct *tsk) } -static inline pid_t task_tgid_nr(struct task_struct *tsk) +static inline pid_t task_tgid_nr(const struct task_struct *tsk) { return tsk->tgid; } @@ -1281,7 +1286,7 @@ static inline pid_t task_tgid_vnr(struct task_struct *tsk) } -static inline pid_t task_pgrp_nr(struct task_struct *tsk) +static inline pid_t task_pgrp_nr(const struct task_struct *tsk) { return tsk->signal->__pgrp; } @@ -1294,7 +1299,7 @@ static inline pid_t task_pgrp_vnr(struct task_struct *tsk) } -static inline pid_t task_session_nr(struct task_struct *tsk) +static inline pid_t task_session_nr(const struct task_struct *tsk) { return tsk->signal->__session; } @@ -1321,7 +1326,7 @@ static inline pid_t task_ppid_nr_ns(struct task_struct *tsk, * If pid_alive fails, then pointers within the task structure * can be stale and must not be dereferenced. */ -static inline int pid_alive(struct task_struct *p) +static inline int pid_alive(const struct task_struct *p) { return p->pids[PIDTYPE_PID].pid != NULL; } @@ -1332,7 +1337,7 @@ static inline int pid_alive(struct task_struct *p) * * Check if a task structure is the first user space task the kernel created. */ -static inline int is_global_init(struct task_struct *tsk) +static inline int is_global_init(const struct task_struct *tsk) { return tsk->pid == 1; } @@ -1469,7 +1474,7 @@ extern int rt_mutex_getprio(struct task_struct *p); extern void rt_mutex_setprio(struct task_struct *p, int prio); extern void rt_mutex_adjust_pi(struct task_struct *p); #else -static inline int rt_mutex_getprio(struct task_struct *p) +static inline int rt_mutex_getprio(const struct task_struct *p) { return p->normal_prio; } @@ -1721,7 +1726,7 @@ extern void wait_task_inactive(struct task_struct * p); * all we care about is that we have a task with the appropriate * pid, we don't actually care if we have the right task. */ -static inline int has_group_leader_pid(struct task_struct *p) +static inline int has_group_leader_pid(const struct task_struct *p) { return p->pid == p->tgid; } @@ -1738,7 +1743,7 @@ static inline struct task_struct *next_thread(const struct task_struct *p) struct task_struct, thread_group); } -static inline int thread_group_empty(struct task_struct *p) +static inline int thread_group_empty(const struct task_struct *p) { return list_empty(&p->thread_group); } |