Messages in this thread |  | | | Date | Wed, 6 May 2009 15:46:31 +0100 (BST) | | From | Hugh Dickins <> | | Subject | Re: [PATCH 2/6] ksm: dont allow overlap memory addresses registrations. |
| |
On Wed, 6 May 2009, Alan Cox wrote: > > the max number of ksm pages that can be allocated at any given time so > > to avoid OOM conditions, like the swap-compress logic that limits the > > swapdevice size to less than ram.
(I don't know anything about that swap-compress logic and limitation.)
> > Are those pages accounted for in the vm_overcommit logic, as if you > allocate a big chunk of memory as KSM will do you need the worst case > vm_overcommit behaviour preserved and that means keeping the stats > correct.
As I understand it, KSM won't affect the vm_overcommit behaviour at all. Those pages Izik refers to are not allocated up front, they're just a limit on the number of process pages which may get held in core at any one time, through being shared via the KSM mechanism.
KSM is not evading vm_committed_space at all, not opening a backdoor away from the ordinary mmaps: just collapsing duplicated pages in what's been mapped in the usual way, down to single copies.
So the vm_commited_space accounting is exactly as before: it would be a bit odd to be running KSM along with OVERCOMMIT_NEVER, but it doesn't change its calculations at all - it will and will have to be as pessimistic as it ever was.
The only difference would be in how much memory (mostly lowmem) KSM's own data structures will take up - as usual, the kernel data structures aren't being accounted, but do take up memory.
Hugh
|  |