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".