diff options
author | Steven Rostedt <rostedt@goodmis.org> | 2008-01-25 15:08:22 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-25 15:08:22 -0500 |
commit | cb46984504048db946cd551c261df4e70d59a8ea (patch) | |
tree | e07343cc5967f74370c6b0290b67a225d868a99d /include/linux/sched.h | |
parent | 9a897c5a6701bcb6f099f7ca20194999102729fd (diff) |
sched: RT-balance, add new methods to sched_class
Dmitry Adamushko found that the current implementation of the RT
balancing code left out changes to the sched_setscheduler and
rt_mutex_setprio.
This patch addresses this issue by adding methods to the schedule classes
to handle being switched out of (switched_from) and being switched into
(switched_to) a sched_class. Also a method for changing of priorities
is also added (prio_changed).
This patch also removes some duplicate logic between rt_mutex_setprio and
sched_setscheduler.
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/linux/sched.h')
-rw-r--r-- | include/linux/sched.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h index c67d2c2f0111..f2044e707004 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -855,6 +855,13 @@ struct sched_class { | |||
855 | 855 | ||
856 | void (*join_domain)(struct rq *rq); | 856 | void (*join_domain)(struct rq *rq); |
857 | void (*leave_domain)(struct rq *rq); | 857 | void (*leave_domain)(struct rq *rq); |
858 | |||
859 | void (*switched_from) (struct rq *this_rq, struct task_struct *task, | ||
860 | int running); | ||
861 | void (*switched_to) (struct rq *this_rq, struct task_struct *task, | ||
862 | int running); | ||
863 | void (*prio_changed) (struct rq *this_rq, struct task_struct *task, | ||
864 | int oldprio, int running); | ||
858 | }; | 865 | }; |
859 | 866 | ||
860 | struct load_weight { | 867 | struct load_weight { |