I see. Never considered a glibc header dependency. In fact, I thought
that having at least kernel 2.6.32 and recent qemu-kvm would suffice...

How about an "--enable-ksm" configure option which checks and requires 
MADV_MERGABLE to be defined?
That way, people (like me) would notice instead of having qemu silently not 
using KSM at all.

Especially if the "fix" to make it "just work" on older distributions is
as simple as here by just including the required header file.

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/687733

Title:
  Linux KSM not compiled in (MADV_MERGEABLE always undef)

Status in QEMU:
  Invalid

Bug description:
  Linux KSM support is not enabled because MADV_MERGEABLE remains undefined.
It seems that asm-generic/mman-common.h is not included. Maybe some kind of 
header dependency problem?

Adding 
#include <asm-generic/mman-common.h>
to exec.c of qemu-kvm-0.13.0 enables use of KSM and values change in 
/sys/kernel/mm/ksm/.

Tested under CentOS 5.5 with custom kernel 2.6.32.26 and OpenSUSE 11.2 with 
custom kernel 2.6.36.1, both x86_64 platform.
Please note that I configure with--kerneldir=/lib/modules/2.6.../build and even 
--extra-cflags="-I/lib/modules/2.6.../build/include".



Reply via email to