Re: [PATCH percpu/for-3.11] percpu-refcount: consistently use plain(non-sched) RCU

From: Tejun Heo
Date: Wed Jun 12 2013 - 23:48:32 EST


On Wed, Jun 12, 2013 at 01:40:32PM -0700, Tejun Heo wrote:
> From e96262150a513ce3d54ff221d4ace8aeec96e0bf Mon Sep 17 00:00:00 2001
> From: Tejun Heo <tj@xxxxxxxxxx>
> Date: Wed, 12 Jun 2013 13:37:42 -0700
>
> percpu_ref_get/put() are using preempt_disable/enable() while
> percpu_ref_kill() is using plain call_rcu() instead of
> call_rcu_sched(). This is buggy as grace periods of the two may not
> match. Fix it by using plain RCU in percpu_ref_get/put().
>
> (I suggested using sched RCU in the first place but there's no actual
> benefit in doing so unless we're gonna introduce different variants
> of get/put to be called while preemption is alredy disabled, which we
> definitely shouldn't.)
>
> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
> Reported-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>

Applied to percpu/for-3.11.

Thanks.

--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/