diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-25 18:19:03 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-25 18:19:03 -0400 |
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) | |||
42 | init_waitqueue_head(&x->wait); | 42 | init_waitqueue_head(&x->wait); |
43 | } | 43 | } |
44 | 44 | ||
45 | extern void FASTCALL(wait_for_completion(struct completion *)); | 45 | extern void wait_for_completion(struct completion *); |
46 | extern int FASTCALL(wait_for_completion_interruptible(struct completion *x)); | 46 | extern int wait_for_completion_interruptible(struct completion *x); |
47 | extern unsigned long FASTCALL(wait_for_completion_timeout(struct completion *x, | 47 | extern unsigned long wait_for_completion_timeout(struct completion *x, |
48 | unsigned long timeout)); | 48 | unsigned long timeout); |
49 | extern unsigned long FASTCALL(wait_for_completion_interruptible_timeout( | 49 | extern unsigned long wait_for_completion_interruptible_timeout( |
50 | struct completion *x, unsigned long timeout)); | 50 | struct completion *x, unsigned long timeout); |
51 | 51 | ||
52 | extern void FASTCALL(complete(struct completion *)); | 52 | extern void complete(struct completion *); |
53 | extern void FASTCALL(complete_all(struct completion *)); | 53 | extern void complete_all(struct completion *); |
54 | 54 | ||
55 | #define INIT_COMPLETION(x) ((x).done = 0) | 55 | #define INIT_COMPLETION(x) ((x).done = 0) |
56 | 56 | ||
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 { | |||
828 | struct task_struct * (*pick_next_task) (struct rq *rq); | 828 | struct task_struct * (*pick_next_task) (struct rq *rq); |
829 | void (*put_prev_task) (struct rq *rq, struct task_struct *p); | 829 | void (*put_prev_task) (struct rq *rq, struct task_struct *p); |
830 | 830 | ||
831 | #ifdef CONFIG_SMP | ||
831 | unsigned long (*load_balance) (struct rq *this_rq, int this_cpu, | 832 | unsigned long (*load_balance) (struct rq *this_rq, int this_cpu, |
832 | struct rq *busiest, | 833 | struct rq *busiest, unsigned long max_load_move, |
833 | unsigned long max_nr_move, unsigned long max_load_move, | ||
834 | struct sched_domain *sd, enum cpu_idle_type idle, | 834 | struct sched_domain *sd, enum cpu_idle_type idle, |
835 | int *all_pinned, int *this_best_prio); | 835 | int *all_pinned, int *this_best_prio); |
836 | 836 | ||
837 | int (*move_one_task) (struct rq *this_rq, int this_cpu, | ||
838 | struct rq *busiest, struct sched_domain *sd, | ||
839 | enum cpu_idle_type idle); | ||
840 | #endif | ||
841 | |||
837 | void (*set_curr_task) (struct rq *rq); | 842 | void (*set_curr_task) (struct rq *rq); |
838 | void (*task_tick) (struct rq *rq, struct task_struct *p); | 843 | void (*task_tick) (struct rq *rq, struct task_struct *p); |
839 | void (*task_new) (struct rq *rq, struct task_struct *p); | 844 | void (*task_new) (struct rq *rq, struct task_struct *p); |
@@ -1196,7 +1201,7 @@ static inline int rt_prio(int prio) | |||
1196 | return 0; | 1201 | return 0; |
1197 | } | 1202 | } |
1198 | 1203 | ||
1199 | static inline int rt_task(struct task_struct *p) | 1204 | static inline int rt_task(const struct task_struct *p) |
1200 | { | 1205 | { |
1201 | return rt_prio(p->prio); | 1206 | return rt_prio(p->prio); |
1202 | } | 1207 | } |
@@ -1211,22 +1216,22 @@ static inline void set_task_pgrp(struct task_struct *tsk, pid_t pgrp) | |||
1211 | tsk->signal->__pgrp = pgrp; | 1216 | tsk->signal->__pgrp = pgrp; |
1212 | } | 1217 | } |
1213 | 1218 | ||
1214 | static inline struct pid *task_pid(struct task_struct *task) | 1219 | static inline struct pid *task_pid(const struct task_struct *task) |
1215 | { | 1220 | { |
1216 | return task->pids[PIDTYPE_PID].pid; | 1221 | return task->pids[PIDTYPE_PID].pid; |
1217 | } | 1222 | } |
1218 | 1223 | ||
1219 | static inline struct pid *task_tgid(struct task_struct *task) | 1224 | static inline struct pid *task_tgid(const struct task_struct *task) |
1220 | { | 1225 | { |
1221 | return task->group_leader->pids[PIDTYPE_PID].pid; | 1226 | return task->group_leader->pids[PIDTYPE_PID].pid; |
1222 | } | 1227 | } |
1223 | 1228 | ||
1224 | static inline struct pid *task_pgrp(struct task_struct *task) | 1229 | static inline struct pid *task_pgrp(const struct task_struct *task) |
1225 | { | 1230 | { |
1226 | return task->group_leader->pids[PIDTYPE_PGID].pid; | 1231 | return task->group_leader->pids[PIDTYPE_PGID].pid; |
1227 | } | 1232 | } |
1228 | 1233 | ||
1229 | static inline struct pid *task_session(struct task_struct *task) | 1234 | static inline struct pid *task_session(const struct task_struct *task) |
1230 | { | 1235 | { |
1231 | return task->group_leader->pids[PIDTYPE_SID].pid; | 1236 | return task->group_leader->pids[PIDTYPE_SID].pid; |
1232 | } | 1237 | } |
@@ -1255,7 +1260,7 @@ struct pid_namespace; | |||
1255 | * see also pid_nr() etc in include/linux/pid.h | 1260 | * see also pid_nr() etc in include/linux/pid.h |
1256 | */ | 1261 | */ |
1257 | 1262 | ||
1258 | static inline pid_t task_pid_nr(struct task_struct *tsk) | 1263 | static inline pid_t task_pid_nr(const struct task_struct *tsk) |
1259 | { | 1264 | { |
1260 | return tsk->pid; | 1265 | return tsk->pid; |
1261 | } | 1266 | } |
@@ -1268,7 +1273,7 @@ static inline pid_t task_pid_vnr(struct task_struct *tsk) | |||
1268 | } | 1273 | } |
1269 | 1274 | ||
1270 | 1275 | ||
1271 | static inline pid_t task_tgid_nr(struct task_struct *tsk) | 1276 | static inline pid_t task_tgid_nr(const struct task_struct *tsk) |
1272 | { | 1277 | { |
1273 | return tsk->tgid; | 1278 | return tsk->tgid; |
1274 | } | 1279 | } |
@@ -1281,7 +1286,7 @@ static inline pid_t task_tgid_vnr(struct task_struct *tsk) | |||
1281 | } | 1286 | } |
1282 | 1287 | ||
1283 | 1288 | ||
1284 | static inline pid_t task_pgrp_nr(struct task_struct *tsk) | 1289 | static inline pid_t task_pgrp_nr(const struct task_struct *tsk) |
1285 | { | 1290 | { |
1286 | return tsk->signal->__pgrp; | 1291 | return tsk->signal->__pgrp; |
1287 | } | 1292 | } |
@@ -1294,7 +1299,7 @@ static inline pid_t task_pgrp_vnr(struct task_struct *tsk) | |||
1294 | } | 1299 | } |
1295 | 1300 | ||
1296 | 1301 | ||
1297 | static inline pid_t task_session_nr(struct task_struct *tsk) | 1302 | static inline pid_t task_session_nr(const struct task_struct *tsk) |
1298 | { | 1303 | { |
1299 | return tsk->signal->__session; | 1304 | return tsk->signal->__session; |
1300 | } | 1305 | } |
@@ -1321,7 +1326,7 @@ static inline pid_t task_ppid_nr_ns(struct task_struct *tsk, | |||
1321 | * If pid_alive fails, then pointers within the task structure | 1326 | * If pid_alive fails, then pointers within the task structure |
1322 | * can be stale and must not be dereferenced. | 1327 | * can be stale and must not be dereferenced. |
1323 | */ | 1328 | */ |
1324 | static inline int pid_alive(struct task_struct *p) | 1329 | static inline int pid_alive(const struct task_struct *p) |
1325 | { | 1330 | { |
1326 | return p->pids[PIDTYPE_PID].pid != NULL; | 1331 | return p->pids[PIDTYPE_PID].pid != NULL; |
1327 | } | 1332 | } |
@@ -1332,7 +1337,7 @@ static inline int pid_alive(struct task_struct *p) | |||
1332 | * | 1337 | * |
1333 | * Check if a task structure is the first user space task the kernel created. | 1338 | * Check if a task structure is the first user space task the kernel created. |
1334 | */ | 1339 | */ |
1335 | static inline int is_global_init(struct task_struct *tsk) | 1340 | static inline int is_global_init(const struct task_struct *tsk) |
1336 | { | 1341 | { |
1337 | return tsk->pid == 1; | 1342 | return tsk->pid == 1; |
1338 | } | 1343 | } |
@@ -1469,7 +1474,7 @@ extern int rt_mutex_getprio(struct task_struct *p); | |||
1469 | extern void rt_mutex_setprio(struct task_struct *p, int prio); | 1474 | extern void rt_mutex_setprio(struct task_struct *p, int prio); |
1470 | extern void rt_mutex_adjust_pi(struct task_struct *p); | 1475 | extern void rt_mutex_adjust_pi(struct task_struct *p); |
1471 | #else | 1476 | #else |
1472 | static inline int rt_mutex_getprio(struct task_struct *p) | 1477 | static inline int rt_mutex_getprio(const struct task_struct *p) |
1473 | { | 1478 | { |
1474 | return p->normal_prio; | 1479 | return p->normal_prio; |
1475 | } | 1480 | } |
@@ -1721,7 +1726,7 @@ extern void wait_task_inactive(struct task_struct * p); | |||
1721 | * all we care about is that we have a task with the appropriate | 1726 | * all we care about is that we have a task with the appropriate |
1722 | * pid, we don't actually care if we have the right task. | 1727 | * pid, we don't actually care if we have the right task. |
1723 | */ | 1728 | */ |
1724 | static inline int has_group_leader_pid(struct task_struct *p) | 1729 | static inline int has_group_leader_pid(const struct task_struct *p) |
1725 | { | 1730 | { |
1726 | return p->pid == p->tgid; | 1731 | return p->pid == p->tgid; |
1727 | } | 1732 | } |
@@ -1738,7 +1743,7 @@ static inline struct task_struct *next_thread(const struct task_struct *p) | |||
1738 | struct task_struct, thread_group); | 1743 | struct task_struct, thread_group); |
1739 | } | 1744 | } |
1740 | 1745 | ||
1741 | static inline int thread_group_empty(struct task_struct *p) | 1746 | static inline int thread_group_empty(const struct task_struct *p) |
1742 | { | 1747 | { |
1743 | return list_empty(&p->thread_group); | 1748 | return list_empty(&p->thread_group); |
1744 | } | 1749 | } |