diff -urN linux-2.5.12/kernel/sched.c linux/kernel/sched.c --- linux-2.5.12/kernel/sched.c Wed May 1 08:40:14 2002 +++ linux/kernel/sched.c Wed May 1 11:53:07 2002 @@ -22,6 +22,7 @@ #include #include #include +#include /* * Priority of a process goes from 0 to 139. The 0-99 @@ -154,10 +155,18 @@ list_t migration_queue; } ____cacheline_aligned; -static struct runqueue runqueues[NR_CPUS] __cacheline_aligned; +static struct runqueue __per_cpu_data runqueues; + +static inline struct runqueue *cpu_rq(int cpu) +{ + return &per_cpu(runqueues, cpu); +} + +static inline struct runqueue *this_rq(void) +{ + return &this_cpu(runqueues); +} -#define cpu_rq(cpu) (runqueues + (cpu)) -#define this_rq() cpu_rq(smp_processor_id()) #define task_rq(p) cpu_rq((p)->thread_info->cpu) #define cpu_curr(cpu) (cpu_rq(cpu)->curr) #define rt_task(p) ((p)->prio < MAX_RT_PRIO)