RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 635418 - Allow enable/disable ksm per VM
Summary: Allow enable/disable ksm per VM
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: qemu-kvm
Version: 6.1
Hardware: All
OS: Linux
low
medium
Target Milestone: beta
: 6.1
Assignee: Andrea Arcangeli
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks: 580954 635417 LibvirtKSMOff 655920 1008500
TreeView+ depends on / blocked
 
Reported: 2010-09-19 16:12 UTC by Itamar Heim
Modified: 2013-09-16 13:35 UTC (History)
12 users (show)

Fixed In Version: qemu-kvm-0.12.1.2-2.135.el6
Doc Type: Enhancement
Doc Text:
Previously, KSM supported global settings and no enable or disable options for each individual virtual machine. Qemu-kvn now allows selective decisions about whether or not KVM should register in KSM at the time of a virtual machine start up. This selection decision feature allows higher performance virtual machines to be selected from the manager, which eliminates the risk of the virtual machine slowing down due to memory duplication.
Clone Of:
: 769021 (view as bug list)
Environment:
Last Closed: 2011-05-19 11:30:34 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2011:0534 0 normal SHIPPED_LIVE Important: qemu-kvm security, bug fix, and enhancement update 2011-05-19 11:20:36 UTC

Description Itamar Heim 2010-09-19 16:12:06 UTC
- at create
- via monitor command

Comment 1 Andrea Arcangeli 2010-10-08 15:08:33 UTC
This is an useful feature and it shall be implemented in qemu userland. It doesn't require kernel support (madvise can be called also on a running qemu dynamically to remove it from KSM scan, via qemu monitor command).

The plan is to have KSM scanning subpages inside transparent hugepages, and to split the hugepage and merge the subpages in case we can merge equal subpages. So disabling KSM will prevent hugepages to be splitted so allowing for higher performance.

Comment 4 Andrea Arcangeli 2010-12-21 15:18:09 UTC
This adds -redhat-disable-THP and -redhat-disable-KSM parameters to qemu-kvm.

https://brewweb.devel.redhat.com/taskinfo?taskID=2991515

This qemu-kvm package should be used in combination with this kernel that implements MADV_NOHUGEPAGE:

https://brewweb.devel.redhat.com/taskinfo?taskID=2979741

Comment 13 Joy Pu 2011-02-18 09:24:04 UTC
Verify this bug in 
rpm -qa |grep qemu-kvm-0.12.1.2-2.136 and 2.6.32-94 kernel
gpxe-roms-qemu-0.9.7-6.3.el6.noarch
qemu-img-0.12.1.2-2.136.el6.x86_64
qemu-kvm-tools-0.12.1.2-2.136.el6.x86_64
qemu-kvm-debuginfo-0.12.1.2-2.136.el6.x86_64
qemu-kvm-0.12.1.2-2.136.el6.x86_64

with the -redhat-disable-KSM option, when dd in guest  /sys/kernel/mm/ksm/pages_sharing will be 0. And this value will change without this option.

Steps:
1. enable KSM
echo 1 > /sys/kernel/mm/ksm/
2. start two guest with -redhat-disable-KSM
3. swap off  in both guest
   swapoff -a
4. mount tmpfs and dd 2G zero file in guest
  mount -t tmpfs none /mnt
  dd if=/dev/zero of=/mnt/zero
5. cat /sys/kernel/mm/ksm/pages_sharing to check the status

Comment 14 Andrea Arcangeli 2011-05-06 18:40:16 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
A new feature has been introduced to qemu-kvm to selectively decide if KVM should register in KSM or not at virtual machine startup time. Previously it would register unconditionally so KSM could only enabled/disabled globally and not selectively for each virtual machine. This allows to select higher performance virtual machines from the manager, that will not risk to be slowed down in memory de-duplication (either because of transparent hugepage splits during memory-merging, or because of copy-on-writes when de-duplicated memory is modified by the guest).

Comment 15 Misha H. Ali 2011-05-12 06:48:01 UTC
    Technical note updated. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    Diffed Contents:
@@ -1 +1 @@
-A new feature has been introduced to qemu-kvm to selectively decide if KVM should register in KSM or not at virtual machine startup time. Previously it would register unconditionally so KSM could only enabled/disabled globally and not selectively for each virtual machine. This allows to select higher performance virtual machines from the manager, that will not risk to be slowed down in memory de-duplication (either because of transparent hugepage splits during memory-merging, or because of copy-on-writes when de-duplicated memory is modified by the guest).+Previously, KSM supported global settings and no enable or disable options for each individual virtual machine. Qemu-kvn now allows selective decisions about whether or not KVM should register in KSM at the time of a virtual machine start up. This selection decision feature allows higher performance virtual machines to be selected from the manager, which eliminates the risk of the virtual machine slowing down due to memory duplication.

Comment 16 errata-xmlrpc 2011-05-19 11:30:34 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2011-0534.html

Comment 17 errata-xmlrpc 2011-05-19 12:49:01 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2011-0534.html


Note You need to log in before you can comment on or make changes to this bug.