linux-kernel-test/include
KAMEZAWA Hiroyuki ec64f51545 cgroup: fix frequent -EBUSY at rmdir
In following situation, with memory subsystem,

	/groupA use_hierarchy==1
		/01 some tasks
		/02 some tasks
		/03 some tasks
		/04 empty

When tasks under 01/02/03 hit limit on /groupA, hierarchical reclaim
is triggered and the kernel walks tree under groupA. In this case,
rmdir /groupA/04 fails with -EBUSY frequently because of temporal
refcnt from the kernel.

In general. cgroup can be rmdir'd if there are no children groups and
no tasks. Frequent fails of rmdir() is not useful to users.
(And the reason for -EBUSY is unknown to users.....in most cases)

This patch tries to modify above behavior, by
	- retries if css_refcnt is got by someone.
	- add "return value" to pre_destroy() and allows subsystem to
	  say "we're really busy!"

Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Paul Menage <menage@google.com>
Cc: Li Zefan <lizf@cn.fujitsu.com>
Cc: Balbir Singh <balbir@in.ibm.com>
Cc: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-04-02 19:04:54 -07:00
..
acpi
asm-arm
asm-frv mm: use debug_kmap_atomic 2009-04-01 08:59:14 -07:00
asm-generic gpiolib: allow GPIOs to be named 2009-04-02 19:04:51 -07:00
asm-h8300
asm-m32r Merge branch 'header-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-03-26 16:11:41 -07:00
asm-mn10300 mm: use debug_kmap_atomic 2009-04-01 08:59:14 -07:00
crypto
drm drm: detect hdmi monitor by hdmi identifier (v3) 2009-03-29 18:31:49 +10:00
keys
linux cgroup: fix frequent -EBUSY at rmdir 2009-04-02 19:04:54 -07:00
math-emu
media V4L/DVB (11313): v4l2-subdev: add enum_framesizes and enum_frameintervals. 2009-03-30 12:43:49 -03:00
mtd make MTD headers use strict integer types 2009-03-26 18:14:17 +01:00
net netlabel: Cleanup the Smack/NetLabel code to fix incoming TCP connections 2009-03-28 15:01:37 +11:00
pcmcia
rdma Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 2009-03-26 15:54:36 -07:00
rxrpc
scsi
sound V4L/DVB (10771): tea575x-tuner: convert it to V4L2 API 2009-03-30 12:43:02 -03:00
trace net: Add dependent headers to trace/skb.h 2009-03-24 14:24:10 -07:00
video fbdev: update s1d13xxxfb to differ between revisions and production ids 2009-04-01 08:59:32 -07:00
xen
Kbuild