On Mon, 22 Nov 2010 19:59:41 +0300 Evgeniy Ivanov <lolkaantimat@xxxxxxxxx> wrote: > Hello, > Hi, > I have following cgroup hierarchy: > > Root > / | > A B > > A and B have memory limits set so that it's 100% of limit set in Root. > I want to add C to root: > > Root > / | \ > A B C > > What is correct way to shrink limits for A and B? When they use all > allowed memory and I try to write to their limit files I get error. What kinds of error ? Do you have swap ? What is the kerenel version ? > It seems, that I can shrink their limits multiple times by 1Mb and it > works, but looks ugly and like very dirty workaround. > It's designed to allow "shrink at once" but that means release memory and do forced-writeback. To release memory, it may have to write back to swap. If tasks in "A" and "B" are too busy and tocuhes tons of memory while shrinking, it may fail. It may be a regression. Kernel version is important. Could you show memory.stat file when you shrink "A" and "B" ? And what happnes # sync # sync # sync # reduce memory A # reduce memory B one by one ? Thanks, -Kame -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom policy in Canada: sign http://dissolvethecrtc.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>