summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRusty Russell <rusty@rustcorp.com.au>2003-07-02 10:32:57 -0700
committerLinus Torvalds <torvalds@home.osdl.org>2003-07-02 10:32:57 -0700
commit6f9199b58b53c44e340ca15bfb332769493af72c (patch)
tree8288285e2487bd19fd480bf18c7ffa92c158d6e1
parent26e48e571aba7b6cba0cebb41d832949137b5fd5 (diff)
[PATCH] Per-cpu variable in mm/slab.c
Rather trivial conversion. Tested on SMP.
-rw-r--r--mm/slab.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/mm/slab.c b/mm/slab.c
index e05fcba90af2..bee3dfdf8619 100644
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -475,7 +475,7 @@ enum {
FULL
} g_cpucache_up;
-static struct timer_list reap_timers[NR_CPUS];
+static DEFINE_PER_CPU(struct timer_list, reap_timers);
static void reap_timer_fnc(unsigned long data);
@@ -525,7 +525,7 @@ static void __slab_error(const char *function, kmem_cache_t *cachep, char *msg)
*/
static void start_cpu_timer(int cpu)
{
- struct timer_list *rt = &reap_timers[cpu];
+ struct timer_list *rt = &per_cpu(reap_timers, cpu);
if (rt->function == NULL) {
init_timer(rt);
@@ -2457,7 +2457,7 @@ next:
static void reap_timer_fnc(unsigned long data)
{
int cpu = smp_processor_id();
- struct timer_list *rt = &reap_timers[cpu];
+ struct timer_list *rt = &__get_cpu_var(reap_timers);
cache_reap();
mod_timer(rt, jiffies + REAPTIMEOUT_CPUC + cpu);