summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-01-22 02:48:41 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2014-01-22 02:48:41 +0100
commit5cb7398caf69e3943df78435a19a8a77fe8b9463 (patch)
tree3b81cdc17dcbcecbd18b722988648b36297288fd /lib
parentMerge branch 'for-3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq (diff)
parentpercpu: use VMALLOC_TOTAL instead of VMALLOC_END - VMALLOC_START (diff)
downloadlinux-5cb7398caf69e3943df78435a19a8a77fe8b9463.tar.xz
linux-5cb7398caf69e3943df78435a19a8a77fe8b9463.zip
Merge branch 'for-3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu
Pull percpu changes from Tejun Heo: "Two trivial changes - addition of WARN_ONCE() in lib/percpu-refcount.c and use of VMALLOC_TOTAL instead of END - START in percpu.c" * 'for-3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: percpu: use VMALLOC_TOTAL instead of VMALLOC_END - VMALLOC_START percpu-refcount: Add a WARN() for ref going negative
Diffstat (limited to 'lib')
-rw-r--r--lib/percpu-refcount.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/percpu-refcount.c b/lib/percpu-refcount.c
index 1a53d497a8c5..963b7034a51b 100644
--- a/lib/percpu-refcount.c
+++ b/lib/percpu-refcount.c
@@ -120,6 +120,9 @@ static void percpu_ref_kill_rcu(struct rcu_head *rcu)
atomic_add((int) count - PCPU_COUNT_BIAS, &ref->count);
+ WARN_ONCE(atomic_read(&ref->count) <= 0, "percpu ref <= 0 (%i)",
+ atomic_read(&ref->count));
+
/* @ref is viewed as dead on all CPUs, send out kill confirmation */
if (ref->confirm_kill)
ref->confirm_kill(ref);