Files
kernel_xiaomi_sm8250/include/linux
Paul Menage e7c5ec9193 cgroups: add css_tryget()
Add css_tryget(), that obtains a counted reference on a CSS.  It is used
in situations where the caller has a "weak" reference to the CSS, i.e.
one that does not protect the cgroup from removal via a reference count,
but would instead be cleaned up by a destroy() callback.

css_tryget() will return true on success, or false if the cgroup is being
removed.

This is similar to Kamezawa Hiroyuki's patch from a week or two ago, but
with the difference that in the event of css_tryget() racing with a
cgroup_rmdir(), css_tryget() will only return false if the cgroup really
does get removed.

This implementation is done by biasing css->refcnt, so that a refcnt of 1
means "releasable" and 0 means "released or releasing".  In the event of a
race, css_tryget() distinguishes between "released" and "releasing" by
checking for the CSS_REMOVED flag in css->flags.

Signed-off-by: Paul Menage <menage@google.com>
Tested-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Li Zefan <lizf@cn.fujitsu.com>
Cc: Balbir Singh <balbir@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-08 08:31:10 -08:00
..
2009-01-04 12:17:42 +01:00
2009-01-07 17:38:32 -05:00
2009-01-06 15:59:29 -08:00
2009-01-01 10:12:19 +10:30
2009-01-04 13:33:20 -08:00
2009-01-08 08:31:10 -08:00
2009-01-02 12:19:34 -08:00
2009-01-06 15:59:01 -08:00
2009-01-07 14:29:17 +01:00
2009-01-05 08:40:30 -08:00
2009-01-08 08:31:00 -08:00
2009-01-05 08:40:30 -08:00
2009-01-03 14:11:07 +01:00
2009-01-06 15:58:58 -08:00
2009-01-08 08:31:07 -08:00
2009-01-04 16:13:40 -08:00
2009-01-07 17:38:31 -05:00
2009-01-08 08:31:05 -08:00
2009-01-06 10:44:30 -08:00
2009-01-06 15:59:12 -08:00
2009-01-05 18:31:12 -08:00
2009-01-04 13:33:20 -08:00
2009-01-07 09:58:22 +11:00
2009-01-08 08:31:10 -08:00
2009-01-01 10:12:25 +10:30
2009-01-02 10:19:36 -08:00
2009-01-07 10:00:14 -08:00
2009-01-06 15:59:09 -08:00