mirror of https://gitee.com/openkylin/linux.git
lib/percpu_counter.c: __this_cpu_write() doesn't need to be protected by spinlock
__this_cpu_write doesn't need to be protected by spinlock, AS we are doing per cpu write with preempt disabled. And another reason to remove __this_cpu_write outside of spinlock: __percpu_counter_sum is not an accurate counter. Signed-off-by: Fan Du <fan.du@windriver.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
5cb0656b62
commit
64df3071a9
|
@ -80,8 +80,8 @@ void __percpu_counter_add(struct percpu_counter *fbc, s64 amount, s32 batch)
|
|||
if (count >= batch || count <= -batch) {
|
||||
raw_spin_lock(&fbc->lock);
|
||||
fbc->count += count;
|
||||
__this_cpu_write(*fbc->counters, 0);
|
||||
raw_spin_unlock(&fbc->lock);
|
||||
__this_cpu_write(*fbc->counters, 0);
|
||||
} else {
|
||||
__this_cpu_write(*fbc->counters, count);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue