From deadcf58e276882c7e1735f6654bea806c2d1da2 Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Mon, 30 Jun 2003 19:35:19 -0700 Subject: [PATCH] Make runqueues a per-cpu variable Makes scheduler use per-cpu variables for the runqueues. --- kernel/sched.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'kernel') diff --git a/kernel/sched.c b/kernel/sched.c index 1cf66c7f1732..bb552059577d 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -33,6 +33,7 @@ #include #include #include +#include #ifdef CONFIG_NUMA #define cpu_to_node_mask(cpu) node_to_cpumask(cpu_to_node(cpu)) @@ -170,12 +171,12 @@ struct runqueue { struct list_head migration_queue; atomic_t nr_iowait; -} ____cacheline_aligned; +}; -static struct runqueue runqueues[NR_CPUS] __cacheline_aligned; +static DEFINE_PER_CPU(struct runqueue, runqueues); -#define cpu_rq(cpu) (runqueues + (cpu)) -#define this_rq() cpu_rq(smp_processor_id()) +#define cpu_rq(cpu) (&per_cpu(runqueues, (cpu))) +#define this_rq() (&__get_cpu_var(runqueues)) #define task_rq(p) cpu_rq(task_cpu(p)) #define cpu_curr(cpu) (cpu_rq(cpu)->curr) #define rt_task(p) ((p)->prio < MAX_RT_PRIO) -- cgit v1.2.3