Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1343109

Summary: Memory Page sharing does not work if Datacenter & Cluster compatibility is 3.5 in a RHEV 3.6 Environment.
Product: Red Hat Enterprise Virtualization Manager Reporter: Koutuk Shukla <kshukla>
Component: ovirt-engineAssignee: Roy Golan <rgolan>
Status: CLOSED DUPLICATE QA Contact: meital avital <mavital>
Severity: medium Docs Contact:
Priority: high    
Version: 3.6.6CC: dfediuck, gklein, kshukla, lsurette, mgoldboi, michal.skrivanek, rbalakri, rgolan, Rhev-m-bugs, srevivo, ykaul
Target Milestone: ovirt-3.6.8   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-06-29 11:36:11 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: SLA RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
mom.log vdsm.log and engine.log attached. none

Description Koutuk Shukla 2016-06-06 14:14:25 UTC
Description of problem:  

Memory page sharing does not work in RHEVM 3.6 with DC and Cluster Compatibility as 3.5 and RHEL/RHEV-H 6.7 hosts.

Version-Release number of selected component (if applicable):

rhevm:

rhevm-3.6.6.2-0.1.el6.noarch

Host:

Red Hat Enterprise Virtualization Hypervisor release 6.7
vdsm-4.16.35-2.el6ev.x86_64
qemu-kvm-rhev-0.12.1.2-2.479.el6_7.4.x86_64
libvirt-0.10.2-54.el6_7.3.x86_64

How reproducible: 100%

Steps to Reproduce:

1. Create a RHEVM 3.6 Manager with Datacenter and Cluster compatiblity as 3.5
2. Add RHEL/RHEV-H 6.7 Hypervisors.
3. Enable KSM on the Cluster. 
-- Go to Cluster tab --> Edit --> Optimization --> Enable KSM --> Ok
-- Go to Cluster tab --> In lower pane select Hosts --> Select each host --> sync Mom policy.
-- Check the Memory page sharing status on the Host. 
-- Check Output of the below command from Host.

# cat /sys/kernel/mm/ksm/run

Actual results:

1. On RHEVM GUI Memory page sharing status on the Host is "Disabled".
2. Output of the below command is "0"
# cat /sys/kernel/mm/ksm/run

Expected results:

1. Memory Page sharing status on the Host on the RHEVM GUI should be "Enabled"
2. Out out for below command should be "1"
# cat /sys/kernel/mm/ksm/run

Additional info:  

Customer does not agree with upgrading the Hosts to 7.x to have the DC and Cluster compatiblity to 3.6. Customer insists as 6.7 is supported and maintained Memory Page sharing should work in RHEVM 3.6 as well.

Comment 1 Roy Golan 2016-06-08 19:48:38 UTC
This is supported for 3.5 cluster. What happens most probably is that we didn't switched ksm on because the machine isn't under pressure. Enabling ksm incur some overhead so we chose to do it on demand.

Please supply mom.log vdsm.log and engine.log 


Also, here is a snip from doc/ksm.rules: 

 # Methodology: Since running KSM does incur some overhead, try to run it only 
 # when necessary.  If the amount of committed KSM shareable memory is high or if
 # free memory is low, enable KSM to try to increase free memory.  Large memory
 # machines should scan more often than small ones.  Likewise, machines under
 # memory pressure should scan more aggressively then more idle machines.

 (defvar ksm_pressure_threshold (* Host.mem_available ksm_free_percent))
 (defvar ksm_committed Host.ksm_shareable)

 (if (and (< (+ ksm_pressure_threshold ksm_committed) Host.mem_available)
          (> (Host.StatAvg "mem_free") ksm_pressure_threshold))
     (Host.Control "ksm_run" 0)

Comment 2 Koutuk Shukla 2016-06-09 09:10:39 UTC
Created attachment 1166217 [details]
mom.log vdsm.log and engine.log attached.

Hello,

engine.log from rhevm server attached. 
mom.log and vdsm.log from Host sidat-nodo1 attached.

File vdsm.log.27.xz -- We can se MOM policy related logs.

Thanks,
Koutuk Shukla

Comment 3 Martin Sivák 2016-06-29 11:36:11 UTC

*** This bug has been marked as a duplicate of bug 1339126 ***

Comment 4 Koutuk Shukla 2016-06-30 11:22:38 UTC
(In reply to Martin Sivák from comment #3)
> 
> *** This bug has been marked as a duplicate of bug 1339126 ***

Hello Martin,

Looking at the Description of bug 1339126. It seems this was raised for removing the error " ERROR - Policy error: undefined symbol ksmMergeAcrossNodes" in /var/log/vdsm/mom.log.

I have already asked Customer to follow the below workaround to remove the above errors in /var/log/vdsm/mom.log.  

-- add the following to 00-defines.policy
(defvar ksmMergeAcrossNodes 0)
(defvar ioTuneEnabled 0)

Does this workaround resolve the issue raised in this bug 1343109  ?  ( Of Memory page sharing not working with RHEL/RHEV-H 6 host in RHEVM 3.6 with DC and Cluster Compatibility 3.5 ) 

Please clarify.

Thanks,
Koutuk Shukla