On Sun, Dec 27, 2015 at 08:23:03PM +0300, Konstantin Khlebnikov wrote: > On Wed, Dec 23, 2015 at 8:22 AM, Minchan Kim <minchan@xxxxxxxxxx> wrote: > > During my compaction-related stuff, I encountered some problems with > > ballooning. > > > > Firstly, with repeated inflating and deflating cycle, guest memory(ie, > > cat /proc/meminfo | grep MemTotal) decreased and couldn't recover. > > > > When I review source code, balloon_lock should cover release_pages_balloon. > > Otherwise, struct virtio_balloon fields could be overwritten by race > > of fill_balloon(e,g, vb->*pfns could be critical). > > I guess, in original design fill and leak could be called only from single > kernel thread which manages balloon. Seems like lock was added > only for migration. So, locking scheme should be revisited for sure. > Probably it's been broken by some of recent changes. When I read git log, it seems to be broken from introdcuing balloon_compaction. Anyway, ballooning is out of my interest. I just wanted to go ahead my test for a long time without any problem. ;-) If you guys want to redesign the locking scheme fully, please do. Until that, I can go with my test with my patches I just sent. Thanks. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>