percpu-refcount: one bit is enough for REF_STATUS
authorTejun Heo <tj@kernel.org>
Sat, 28 Jun 2014 12:10:12 +0000 (08:10 -0400)
committerTejun Heo <tj@kernel.org>
Sat, 28 Jun 2014 12:10:12 +0000 (08:10 -0400)
commitd630dc4c9adb41e5bd1e06df2dbeaf622469ddd5
tree4dc8afb3469f6bb27f3737b48d398ea4fa10e3e6
parent55c6c814ae0aa896781d3c51e4608de542624f64
percpu-refcount: one bit is enough for REF_STATUS

percpu-refcount currently reserves two lowest bits of its percpu
pointer to indicate its state; however, only one bit is used for
PCPU_REF_DEAD.

Simplify it by removing PCPU_STATUS_BITS/MASK and testing
PCPU_REF_DEAD directly.  This also allows the compiler to choose a
more efficient instruction depending on the architecture.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Kent Overstreet <kmo@daterainc.com>
Cc: Christoph Lameter <cl@linux-foundation.org>
include/linux/percpu-refcount.h
lib/percpu-refcount.c