Re: understand KSM

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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>



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]