sched: fix build error in kernel/sched_rt.c when RT_GROUP_SCHED && !SMP
authorGregory Haskins <ghaskins@novell.com>
Wed, 14 Jan 2009 14:10:04 +0000 (09:10 -0500)
committerGregory Haskins <ghaskins@novell.com>
Wed, 14 Jan 2009 14:10:04 +0000 (09:10 -0500)
Ingo found a build error in the scheduler when RT_GROUP_SCHED was
enabled, but SMP was not.  This patch rearranges the code such
that it is a little more streamlined and compiles under all permutations
of SMP, UP and RT_GROUP_SCHED.  It was boot tested on my 4-way x86_64
and it still passes preempt-test.

Signed-off-by: Gregory Haskins <ghaskins@novell.com>
kernel/sched.c
kernel/sched_rt.c

index dd1a146..2b703f1 100644 (file)
@@ -466,7 +466,9 @@ struct rt_rq {
 #if defined CONFIG_SMP || defined CONFIG_RT_GROUP_SCHED
        struct {
                int curr; /* highest queued rt task prio */
+#ifdef CONFIG_SMP
                int next; /* next highest */
+#endif
        } highest_prio;
 #endif
 #ifdef CONFIG_SMP
@@ -8267,8 +8269,10 @@ static void init_rt_rq(struct rt_rq *rt_rq, struct rq *rq)
 
 #if defined CONFIG_SMP || defined CONFIG_RT_GROUP_SCHED
        rt_rq->highest_prio.curr = MAX_RT_PRIO;
+#ifdef CONFIG_SMP
        rt_rq->highest_prio.next = MAX_RT_PRIO;
 #endif
+#endif
 #ifdef CONFIG_SMP
        rt_rq->rt_nr_migratory = 0;
        rt_rq->overloaded = 0;
Simple merge