aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-01-10 22:58:49 -0500
committerIngo Molnar <mingo@elte.hu>2009-01-10 22:58:49 -0500
commit0a6d4e1dc9154c4376358663d74060d1e33d203e (patch)
tree5e0b72984d249bc215a6cd52b12e7b1d27abc852 /include/linux
parentc59765042f53a79a7a65585042ff463b69cb248c (diff)
parent1563513d34ed4b12ef32bc2adde4a53ce05701a1 (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.h1
-rw-r--r--include/linux/plist.h9
-rw-r--r--include/linux/sched.h2
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