Red Hat Bugzilla – Bug 961612
there is no -redhat-disable-KSM introduction in man page
Last modified: 2018-05-08 12:32:51 EDT
Description of problem:
We have fixed this issue in rhel6(bug 719269), but did not backport the code to rhel7.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1.# man qemu-kvm and search redhat-disable-KSM.
or # /usr/libexec/qemu-kvm --help | grep -i ksm
no item about redhat-disable-KSM found
--redhat-disable-KSM item should be listed in the man page, like:
Disable KSM on the virtual RAM.
# /usr/libexec/qemu-kvm --help | grep -i ksm
-redhat-disable-KSM disable KSM on guest physical memory
In RHEL7 the --redhat-disable-KSM command line doesn't exist because it was obsoleted, it wasn't just the entry missing in the manpage.
Instead there is a mem-merge command line given to the machine type that you should find in the documentation too:
Enables or disables memory merge support. This feature, when upported by the host, de-
duplicates identical memory pages among VMs instances (enabled by default).
So the manager software should start the VM with -machine mem-merge=off if the host is a RHEL7 and it wants to disable KSM.
Unfortunately specifying the KSM on or off option as part of the machine type doesn't make sense because KSM on or off cannot affect live migration and is totally invisible to the guest and independent of the actual machine topology lawyout emulated hardware or anything related to the machine type. But this is the upstream API so we need to live with it and embed this to the machine type. I learnt about this mistake once it was already committed upstream so it's not worth fixing now.