Files
linux/lib
Tejun Heo 9a1049da9b percpu-refcount: require percpu_ref to be exited explicitly
Currently, a percpu_ref undoes percpu_ref_init() automatically by
freeing the allocated percpu area when the percpu_ref is killed.
While seemingly convenient, this has the following niggles.

* It's impossible to re-init a released reference counter without
  going through re-allocation.

* In the similar vein, it's impossible to initialize a percpu_ref
  count with static percpu variables.

* We need and have an explicit destructor anyway for failure paths -
  percpu_ref_cancel_init().

This patch removes the automatic percpu counter freeing in
percpu_ref_kill_rcu() and repurposes percpu_ref_cancel_init() into a
generic destructor now named percpu_ref_exit().  percpu_ref_destroy()
is considered but it gets confusing with percpu_ref_kill() while
"exit" clearly indicates that it's the counterpart of
percpu_ref_init().

All percpu_ref_cancel_init() users are updated to invoke
percpu_ref_exit() instead and explicit percpu_ref_exit() calls are
added to the destruction path of all percpu_ref users.

Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Benjamin LaHaise <bcrl@kvack.org>
Cc: Kent Overstreet <kmo@daterainc.com>
Cc: Christoph Lameter <cl@linux-foundation.org>
Cc: Benjamin LaHaise <bcrl@kvack.org>
Cc: Nicholas A. Bellinger <nab@linux-iscsi.org>
Cc: Li Zefan <lizefan@huawei.com>
2014-06-28 08:10:14 -04:00
..
2011-03-11 14:25:50 +00:00
2008-06-06 11:29:10 -07:00
2014-06-04 16:54:19 -07:00
2011-10-29 21:20:22 +02:00
2011-03-31 11:26:23 -03:00
2014-05-24 07:28:01 +09:00
2014-04-30 19:49:37 +01:00
2012-10-06 03:04:57 +09:00
2014-05-05 09:09:14 +02:00
2014-05-05 09:09:14 +02:00
2014-05-05 09:09:14 +02:00
2013-06-18 13:48:45 +02:00
2012-07-30 17:25:16 -07:00
2012-01-31 23:19:47 +02:00
2014-06-04 16:53:57 -07:00
2013-04-29 18:28:42 -07:00