diff options
author | Gregory Haskins <ghaskins@novell.com> | 2008-12-29 09:39:49 -0500 |
---|---|---|
committer | Gregory Haskins <ghaskins@novell.com> | 2008-12-29 09:39:49 -0500 |
commit | e864c499d9e57805ae1f9e7ea404dd223759cd53 (patch) | |
tree | 26dcc691f414c2d0eee026ea0f4d9e0d9e0475a2 /kernel/sched.c | |
parent | 4d9842776a23e52ec4c60e0a79f5e1bbe91e463e (diff) |
sched: track the next-highest priority on each runqueue
We will use this later in the series to reduce the amount of rq-lock
contention during a pull operation
Signed-off-by: Gregory Haskins <ghaskins@novell.com>
Diffstat (limited to 'kernel/sched.c')
-rw-r--r-- | kernel/sched.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/kernel/sched.c b/kernel/sched.c index 756d981d91a4..7729f9a45a8b 100644 --- a/kernel/sched.c +++ b/kernel/sched.c | |||
@@ -463,7 +463,10 @@ struct rt_rq { | |||
463 | struct rt_prio_array active; | 463 | struct rt_prio_array active; |
464 | unsigned long rt_nr_running; | 464 | unsigned long rt_nr_running; |
465 | #if defined CONFIG_SMP || defined CONFIG_RT_GROUP_SCHED | 465 | #if defined CONFIG_SMP || defined CONFIG_RT_GROUP_SCHED |
466 | int highest_prio; /* highest queued rt task prio */ | 466 | struct { |
467 | int curr; /* highest queued rt task prio */ | ||
468 | int next; /* next highest */ | ||
469 | } highest_prio; | ||
467 | #endif | 470 | #endif |
468 | #ifdef CONFIG_SMP | 471 | #ifdef CONFIG_SMP |
469 | unsigned long rt_nr_migratory; | 472 | unsigned long rt_nr_migratory; |
@@ -8169,7 +8172,8 @@ static void init_rt_rq(struct rt_rq *rt_rq, struct rq *rq) | |||
8169 | __set_bit(MAX_RT_PRIO, array->bitmap); | 8172 | __set_bit(MAX_RT_PRIO, array->bitmap); |
8170 | 8173 | ||
8171 | #if defined CONFIG_SMP || defined CONFIG_RT_GROUP_SCHED | 8174 | #if defined CONFIG_SMP || defined CONFIG_RT_GROUP_SCHED |
8172 | rt_rq->highest_prio = MAX_RT_PRIO; | 8175 | rt_rq->highest_prio.curr = MAX_RT_PRIO; |
8176 | rt_rq->highest_prio.next = MAX_RT_PRIO; | ||
8173 | #endif | 8177 | #endif |
8174 | #ifdef CONFIG_SMP | 8178 | #ifdef CONFIG_SMP |
8175 | rt_rq->rt_nr_migratory = 0; | 8179 | rt_rq->rt_nr_migratory = 0; |