On 05/14, Tejun Heo wrote: > > > +int percpu_ref_tryget(struct percpu_ref *ref) > > +{ > > + int ret = 1; > > + > > + preempt_disable(); > > + > > + if (!percpu_ref_dead(ref)) > > + percpu_ref_get(ref); > > + else > > + ret = 0; > > + > > + preempt_enable(); > > + > > + return ret; > > +} ... > BTW, why is this > function necessary? What's the use case?
Yes, I was wondering too. And please note that this code _looks_ wrong, percpu_ref_get() still can increment ref->count. Hmm. Just noticed this comment above percpu_ref_kill() * The caller must issue a synchronize_rcu()/call_rcu() before calling * percpu_ref_put() to drop the initial ref. Really? Oleg. -- 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/