diff options
author | Ingo Molnar <mingo@elte.hu> | 2009-01-10 22:58:49 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-01-10 22:58:49 -0500 |
commit | 0a6d4e1dc9154c4376358663d74060d1e33d203e (patch) | |
tree | 5e0b72984d249bc215a6cd52b12e7b1d27abc852 /include/linux | |
parent | c59765042f53a79a7a65585042ff463b69cb248c (diff) | |
parent | 1563513d34ed4b12ef32bc2adde4a53ce05701a1 (diff) |
Merge branch 'sched/latest' of git://git.kernel.org/pub/scm/linux/kernel/git/ghaskins/linux-2.6-hacks into sched/rt
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/init_task.h | 1 | ||||
-rw-r--r-- | include/linux/plist.h | 9 | ||||
-rw-r--r-- | include/linux/sched.h | 2 |
3 files changed, 9 insertions, 3 deletions
diff --git a/include/linux/init_task.h b/include/linux/init_task.h index 2f3c2d4ef73b..9d85d9f03d18 100644 --- a/include/linux/init_task.h +++ b/include/linux/init_task.h | |||
@@ -142,6 +142,7 @@ extern struct cred init_cred; | |||
142 | .nr_cpus_allowed = NR_CPUS, \ | 142 | .nr_cpus_allowed = NR_CPUS, \ |
143 | }, \ | 143 | }, \ |
144 | .tasks = LIST_HEAD_INIT(tsk.tasks), \ | 144 | .tasks = LIST_HEAD_INIT(tsk.tasks), \ |
145 | .pushable_tasks = PLIST_NODE_INIT(tsk.pushable_tasks, MAX_PRIO), \ | ||
145 | .ptraced = LIST_HEAD_INIT(tsk.ptraced), \ | 146 | .ptraced = LIST_HEAD_INIT(tsk.ptraced), \ |
146 | .ptrace_entry = LIST_HEAD_INIT(tsk.ptrace_entry), \ | 147 | .ptrace_entry = LIST_HEAD_INIT(tsk.ptrace_entry), \ |
147 | .real_parent = &tsk, \ | 148 | .real_parent = &tsk, \ |
diff --git a/include/linux/plist.h b/include/linux/plist.h index 85de2f055874..45926d77d6ac 100644 --- a/include/linux/plist.h +++ b/include/linux/plist.h | |||
@@ -96,6 +96,10 @@ struct plist_node { | |||
96 | # define PLIST_HEAD_LOCK_INIT(_lock) | 96 | # define PLIST_HEAD_LOCK_INIT(_lock) |
97 | #endif | 97 | #endif |
98 | 98 | ||
99 | #define _PLIST_HEAD_INIT(head) \ | ||
100 | .prio_list = LIST_HEAD_INIT((head).prio_list), \ | ||
101 | .node_list = LIST_HEAD_INIT((head).node_list) | ||
102 | |||
99 | /** | 103 | /** |
100 | * PLIST_HEAD_INIT - static struct plist_head initializer | 104 | * PLIST_HEAD_INIT - static struct plist_head initializer |
101 | * @head: struct plist_head variable name | 105 | * @head: struct plist_head variable name |
@@ -103,8 +107,7 @@ struct plist_node { | |||
103 | */ | 107 | */ |
104 | #define PLIST_HEAD_INIT(head, _lock) \ | 108 | #define PLIST_HEAD_INIT(head, _lock) \ |
105 | { \ | 109 | { \ |
106 | .prio_list = LIST_HEAD_INIT((head).prio_list), \ | 110 | _PLIST_HEAD_INIT(head), \ |
107 | .node_list = LIST_HEAD_INIT((head).node_list), \ | ||
108 | PLIST_HEAD_LOCK_INIT(&(_lock)) \ | 111 | PLIST_HEAD_LOCK_INIT(&(_lock)) \ |
109 | } | 112 | } |
110 | 113 | ||
@@ -116,7 +119,7 @@ struct plist_node { | |||
116 | #define PLIST_NODE_INIT(node, __prio) \ | 119 | #define PLIST_NODE_INIT(node, __prio) \ |
117 | { \ | 120 | { \ |
118 | .prio = (__prio), \ | 121 | .prio = (__prio), \ |
119 | .plist = PLIST_HEAD_INIT((node).plist, NULL), \ | 122 | .plist = { _PLIST_HEAD_INIT((node).plist) }, \ |
120 | } | 123 | } |
121 | 124 | ||
122 | /** | 125 | /** |
diff --git a/include/linux/sched.h b/include/linux/sched.h index 4cae9b81a1f8..c37c5141037b 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -977,6 +977,7 @@ struct sched_class { | |||
977 | struct rq *busiest, struct sched_domain *sd, | 977 | struct rq *busiest, struct sched_domain *sd, |
978 | enum cpu_idle_type idle); | 978 | enum cpu_idle_type idle); |
979 | void (*pre_schedule) (struct rq *this_rq, struct task_struct *task); | 979 | void (*pre_schedule) (struct rq *this_rq, struct task_struct *task); |
980 | int (*needs_post_schedule) (struct rq *this_rq); | ||
980 | void (*post_schedule) (struct rq *this_rq); | 981 | void (*post_schedule) (struct rq *this_rq); |
981 | void (*task_wake_up) (struct rq *this_rq, struct task_struct *task); | 982 | void (*task_wake_up) (struct rq *this_rq, struct task_struct *task); |
982 | 983 | ||
@@ -1143,6 +1144,7 @@ struct task_struct { | |||
1143 | #endif | 1144 | #endif |
1144 | 1145 | ||
1145 | struct list_head tasks; | 1146 | struct list_head tasks; |
1147 | struct plist_node pushable_tasks; | ||
1146 | 1148 | ||
1147 | struct mm_struct *mm, *active_mm; | 1149 | struct mm_struct *mm, *active_mm; |
1148 | 1150 | ||