On Tue, 26 Oct 2010, CAI Qian wrote: > > > > There are 3 programs (A, B ,C) to allocate 128M memory each using > > KSM. > > > > > > A has memory content equal 'c'. > > > B has memory content equal 'a'. > > > C has memory content equal 'a'. > > > > > > Then (using the latest mmotm tree), > > > pages_shared = 2 > > > pages_sharing = 98292 > > > pages_unshared = 0 > > > > So, after KSM has done its best, it all reduces to 1 page full of > > 'a's and another 1 page full of 'c's. > I would expect pages_sharing to be 98302 (128 * 256 - 2), but this one looks unstable. Increased pages_to_scan to 2 * 98304 did not help either. Since your 1MB malloc'ed buffers may not fall on page boundaries, and there might occasionally be other malloc'ed areas interspersed amongst them, I'm not surprised that pages_sharing falls a little short of 98302. But I am surprised that pages_unshared does not make up the difference; probably pages_volatile does, but I don't see why some should remain volatile indefinitely. > > Thanks for the other suggestions! After modified the test accordingly, it looks like work as expected. Oh good, that's a relief. Hugh -- 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/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>