aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-25 18:19:03 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-25 18:19:03 -0400
commitfcd05809e1b2f64ece7a0b0bbe94ed29505cd2e0 (patch)
treeb3adedf1e26e2ae36fe8a811462292fbb916451b /include
parentf9e83489cbb3670df810d4f9fe308cde88faa0a9 (diff)
parent8ef93cf11413e3f2dc28bfaf736e1f49981ed700 (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.h18
-rw-r--r--include/linux/sched.h37
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
45extern void FASTCALL(wait_for_completion(struct completion *)); 45extern void wait_for_completion(struct completion *);
46extern int FASTCALL(wait_for_completion_interruptible(struct completion *x)); 46extern int wait_for_completion_interruptible(struct completion *x);
47extern unsigned long FASTCALL(wait_for_completion_timeout(struct completion *x, 47extern unsigned long wait_for_completion_timeout(struct completion *x,
48 unsigned long timeout)); 48 unsigned long timeout);
49extern unsigned long FASTCALL(wait_for_completion_interruptible_timeout( 49extern unsigned long wait_for_completion_interruptible_timeout(
50 struct completion *x, unsigned long timeout)); 50 struct completion *x, unsigned long timeout);
51 51
52extern void FASTCALL(complete(struct completion *)); 52extern void complete(struct completion *);
53extern void FASTCALL(complete_all(struct completion *)); 53extern 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
1199static inline int rt_task(struct task_struct *p) 1204static 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
1214static inline struct pid *task_pid(struct task_struct *task) 1219static 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
1219static inline struct pid *task_tgid(struct task_struct *task) 1224static 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
1224static inline struct pid *task_pgrp(struct task_struct *task) 1229static 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
1229static inline struct pid *task_session(struct task_struct *task) 1234static 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
1258static inline pid_t task_pid_nr(struct task_struct *tsk) 1263static 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
1271static inline pid_t task_tgid_nr(struct task_struct *tsk) 1276static 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
1284static inline pid_t task_pgrp_nr(struct task_struct *tsk) 1289static 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
1297static inline pid_t task_session_nr(struct task_struct *tsk) 1302static 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 */
1324static inline int pid_alive(struct task_struct *p) 1329static 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 */
1335static inline int is_global_init(struct task_struct *tsk) 1340static 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);
1469extern void rt_mutex_setprio(struct task_struct *p, int prio); 1474extern void rt_mutex_setprio(struct task_struct *p, int prio);
1470extern void rt_mutex_adjust_pi(struct task_struct *p); 1475extern void rt_mutex_adjust_pi(struct task_struct *p);
1471#else 1476#else
1472static inline int rt_mutex_getprio(struct task_struct *p) 1477static 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 */
1724static inline int has_group_leader_pid(struct task_struct *p) 1729static 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
1741static inline int thread_group_empty(struct task_struct *p) 1746static 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}