Messages in this thread | | | From | Rusty Russell <> | Subject | Re: [PATCH 23/32] Generic dynamic per cpu refcounting | Date | Fri, 25 Jan 2013 16:45:10 +1030 |
| |
Tejun Heo <tj@kernel.org> writes: >> It also implements two stage shutdown, as we need it to tear down the >> percpu counts. Before dropping the initial refcount, you must call >> percpu_ref_kill(); this puts the refcount in "shutting down mode" and >> switches back to a single atomic refcount with the appropriate barriers >> (synchronize_rcu()). > > Maybe if we have tryget() which only succeeds if the counter is alive, > we can replace moulde refcnt with this? Rusty?
Yes, it's similar (hence my previous interest), though module count is a bit weird.
Like Tejun, I'd prefer to see it always alloc up-front, because it avoids the _noalloc variant (which is backwards: please hand gfp_t, so you don't hide the alloc) and heuristics.
Cheers, Rusty.
| |