summaryrefslogtreecommitdiffstats
path: root/include/linux/percpu-refcount.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/percpu-refcount.h')
-rw-r--r--include/linux/percpu-refcount.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/include/linux/percpu-refcount.h b/include/linux/percpu-refcount.h
index 24b31ef15932..abe141172d96 100644
--- a/include/linux/percpu-refcount.h
+++ b/include/linux/percpu-refcount.h
@@ -85,7 +85,7 @@ static inline void percpu_ref_get(struct percpu_ref *ref)
{
unsigned __percpu *pcpu_count;
- preempt_disable();
+ rcu_read_lock();
pcpu_count = ACCESS_ONCE(ref->pcpu_count);
@@ -94,7 +94,7 @@ static inline void percpu_ref_get(struct percpu_ref *ref)
else
atomic_inc(&ref->count);
- preempt_enable();
+ rcu_read_unlock();
}
/**
@@ -107,7 +107,7 @@ static inline void percpu_ref_put(struct percpu_ref *ref)
{
unsigned __percpu *pcpu_count;
- preempt_disable();
+ rcu_read_lock();
pcpu_count = ACCESS_ONCE(ref->pcpu_count);
@@ -116,7 +116,7 @@ static inline void percpu_ref_put(struct percpu_ref *ref)
else if (unlikely(atomic_dec_and_test(&ref->count)))
ref->release(ref);
- preempt_enable();
+ rcu_read_unlock();
}
#endif