KSM without VT / KSM for all memory
Hi,
Is it possible to use KSM:
1) Without hardware VT support
2) For all memory in a system, without patching all applications to register with it
TIA.
Gordan
Quoted 2 lines · * Gordan Bobic ([email protected]) wrote:
Is it possible to use KSM:
1) Without hardware VT support
Yes.
KSM and hardware virtualization support are technically not related.
Quoted 2 lines
2) For all memory in a system, without patching all applications to register with it
No.
Right now, an app must be modified to call madvise(MADV_MERGEABLE). Further, the core scanning loop that ksmd performs is based on per-process virtual memory regions rather than physical memory.
thanks,
-chris
Quoted 7 lines · Chris Wright
Quoted 1 line
2) For all memory in a system, without patching all applications to register with it
No.
Right now, an app must be modified to call
madvise(MADV_MERGEABLE). Further, the core scanning loop that ksmd performs is based on per-process virtual memory regions rather than physical memory.
You mean only pages within the same process are de-duplicated?
Gordan
Quoted 11 lines · * Gordan Bobic ([email protected]) wrote:
Quoted 8 lines · Chris Wright
Quoted 2 lines
2) For all memory in a system, without patching all applications to register with it
No.
Right now, an app must be modified to call
madvise(MADV_MERGEABLE). Further, the core scanning loop that ksmd performs is based on per-process virtual memory regions rather than physical memory.You mean only pages within the same process are de-duplicated?
No, de-duplication can span processes. Each process registers some range(s) of its virtual address space with the scanning daemon. The scanning daemon will then search all of the registered memory ranges for duplicates. This is an opt-in thing for each process though.
thanks,
-chris