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 | |
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')
-rw-r--r-- | include/linux/completion.h | 18 | ||||
-rw-r--r-- | include/linux/sched.h | 37 |
2 files changed, 30 insertions, 25 deletions
diff --git a/include/linux/completion.h b/include/linux/completion.h index 268c5a4a2bd4..33d6aaf94447 100644 --- a/include/linux/completion.h +++ b/include/linux/completion.h @@ -42,15 +42,15 @@ static inline void init_completion(struct completion *x) init_waitqueue_head(&x->wait); } -extern void FASTCALL(wait_for_completion(struct completion *)); -extern int FASTCALL(wait_for_completion_interruptible(struct completion *x)); -extern unsigned long FASTCALL(wait_for_completion_timeout(struct completion *x, - unsigned long timeout)); -extern unsigned long FASTCALL(wait_for_completion_interruptible_timeout( - struct completion *x, unsigned long timeout)); - -extern void FASTCALL(complete(struct completion *)); -extern void FASTCALL(complete_all(struct completion *)); +extern void wait_for_completion(struct completion *); +extern int wait_for_completion_interruptible(struct completion *x); +extern unsigned long wait_for_completion_timeout(struct completion *x, + unsigned long timeout); +extern unsigned long wait_for_completion_interruptible_timeout( + struct completion *x, unsigned long timeout); + +extern void complete(struct completion *); +extern void complete_all(struct completion *); #define INIT_COMPLETION(x) ((x).done = 0) diff --git a/include/linux/sched.h b/include/linux/sched.h index 13df99fb2769..24e08d1d900d 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); } |