aboutsummaryrefslogtreecommitdiffstats
path: root/lib/flex_array.c
diff options
context:
space:
mode:
authorKAMEZAWA Hiroyuki <[email protected]>2009-07-29 22:04:06 +0000
committerLinus Torvalds <[email protected]>2009-07-30 02:10:35 +0000
commit887032670d47366a8c8f25396ea7c14b7b2cc620 (patch)
treee5f9ece5ab9239648e8d7051ccb9a217d92553d7 /lib/flex_array.c
parenteeprom/at25: bugfix "not ready" timeout after write (diff)
downloadkernel-887032670d47366a8c8f25396ea7c14b7b2cc620.tar.gz
kernel-887032670d47366a8c8f25396ea7c14b7b2cc620.zip
cgroup avoid permanent sleep at rmdir
After commit ec64f51545fffbc4cb968f0cea56341a4b07e85a ("cgroup: fix frequent -EBUSY at rmdir"), cgroup's rmdir (especially against memcg) doesn't return -EBUSY by temporary ref counts. That commit expects all refs after pre_destroy() is temporary but...it wasn't. Then, rmdir can wait permanently. This patch tries to fix that and change followings. - set CGRP_WAIT_ON_RMDIR flag before pre_destroy(). - clear CGRP_WAIT_ON_RMDIR flag when the subsys finds racy case. if there are sleeping ones, wakes them up. - rmdir() sleeps only when CGRP_WAIT_ON_RMDIR flag is set. Tested-by: Daisuke Nishimura <[email protected]> Reported-by: Daisuke Nishimura <[email protected]> Reviewed-by: Paul Menage <[email protected]> Acked-by: Balbir Sigh <[email protected]> Signed-off-by: KAMEZAWA Hiroyuki <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'lib/flex_array.c')
0 files changed, 0 insertions, 0 deletions