On Wed, Jun 18, 2014 at 11:37:35AM +0800, Lai Jiangshan wrote: > > @@ -97,7 +98,10 @@ static inline void percpu_ref_kill(struct percpu_ref > > *ref) > > static inline bool __pcpu_ref_alive(struct percpu_ref *ref, > > unsigned __percpu **pcpu_countp) > > { > > - unsigned long pcpu_ptr = ACCESS_ONCE(ref->pcpu_count_ptr); > > + unsigned long pcpu_ptr; > > + > > + /* paired with smp_store_release() in percpu_ref_reinit() */ > > + pcpu_ptr = smp_load_acquire(&ref->pcpu_count_ptr); > > > Does "smp_load_acquire()" hurts the performance of percpu_ref_get/put() > in non-x86 system?
It's equivalent to data dependency barrier. The only arch which needs something more than barrier() is alpha. It isn't an issue. Thanks. -- tejun -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/