Hello, Ming.
> +/**
> + * percpu_ref_is_dead - test whether a percpu refcount is killed
> + * @ref: percpu_ref to test
> + *
> + * Returns %true if @ref is dead
> + *
> + * This function is safe to call as long as @ref is between init and exit.
> + */
> +static inline bool percpu_ref_is_dead(struct percpu_ref *ref)
> +{
> + unsigned long __percpu *percpu_count;
> +
> + if (__ref_is_percpu(ref, &percpu_count))
> + return false;
> + return ref->percpu_count_ptr & __PERCPU_REF_DEAD;
> +}
Can you please explain why percpu_ref_is_dying() isn't enough for your
use case?
Thanks.
--
tejun