percpu_ref: Dump mem_dump_obj() info upon reference-count underflow
authorPaul E. McKenney <paulmck@kernel.org>
Tue, 8 Dec 2020 22:43:43 +0000 (14:43 -0800)
committerPaul E. McKenney <paulmck@kernel.org>
Fri, 22 Jan 2021 23:24:23 +0000 (15:24 -0800)
commit3375efeddf6972df47df26a5b5c643189bd3c02a
tree1cbf279264fc88f0cab1a396ffdba91f54ca11d0
parentb4b7914a6a73fc169fd1ce2fcd78a1d83d9528a9
percpu_ref: Dump mem_dump_obj() info upon reference-count underflow

Reference-count underflow for percpu_ref is detected in the RCU callback
percpu_ref_switch_to_atomic_rcu(), and the resulting warning does not
print anything allowing easy identification of which percpu_ref use
case is underflowing.  This is of course not normally a problem when
developing a new percpu_ref use case because it is most likely that
the problem resides in this new use case.  However, when deploying a
new kernel to a large set of servers, the underflow might well be a new
corner case in any of the old percpu_ref use cases.

This commit therefore calls mem_dump_obj() to dump out any additional
available information on the underflowing percpu_ref instance.

Cc: Ming Lei <ming.lei@redhat.com>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Reported-by: Andrii Nakryiko <andrii@kernel.org>
Tested-by: Naresh Kamboju <naresh.kamboju@linaro.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
lib/percpu-refcount.c