percpu_counter: percpu_counter_hotcpu_callback() cleanup
authorEric Dumazet <edumazet@google.com>
Fri, 20 Jan 2017 14:34:22 +0000 (06:34 -0800)
committerTejun Heo <tj@kernel.org>
Fri, 20 Jan 2017 15:06:56 +0000 (10:06 -0500)
In commit ebd8fef304f9 ("percpu_counter: make percpu_counters_lock
irq-safe") we disabled irqs in percpu_counter_hotcpu_callback()

We can grab every counter spinlock without having to disable
irqs again.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Tejun Heo <tj@kernel.org>
Signed-off-by: Tejun Heo <tj@kernel.org>
lib/percpu_counter.c

index c8cebb1..9c21000 100644 (file)
@@ -176,13 +176,12 @@ static int percpu_counter_cpu_dead(unsigned int cpu)
        spin_lock_irq(&percpu_counters_lock);
        list_for_each_entry(fbc, &percpu_counters, list) {
                s32 *pcount;
-               unsigned long flags;
 
-               raw_spin_lock_irqsave(&fbc->lock, flags);
+               raw_spin_lock(&fbc->lock);
                pcount = per_cpu_ptr(fbc->counters, cpu);
                fbc->count += *pcount;
                *pcount = 0;
-               raw_spin_unlock_irqrestore(&fbc->lock, flags);
+               raw_spin_unlock(&fbc->lock);
        }
        spin_unlock_irq(&percpu_counters_lock);
 #endif