diff mbox

[2/3] KVM test: Create ksm scanner through pre_command

Message ID 20100426100734.26501.22279.stgit@localhost.localdomain (mailing list archive)
State New, archived
Headers show

Commit Message

Jason Wang April 26, 2010, 10:07 a.m. UTC
None
diff mbox

Patch

diff --git a/client/tests/kvm/tests/ksm_overcommit.py b/client/tests/kvm/tests/ksm_overcommit.py
index 2dd46c4..4aa6deb 100644
--- a/client/tests/kvm/tests/ksm_overcommit.py
+++ b/client/tests/kvm/tests/ksm_overcommit.py
@@ -412,21 +412,6 @@  def run_ksm_overcommit(test, params, env):
                                      (3100 - 64.0)))
                 mem = int(math.floor(host_mem * overcommit / vmsc))
 
-    logging.debug("Checking KSM status...")
-    ksm_flag = 0
-    for line in os.popen('ksmctl info').readlines():
-        if line.startswith('flags'):
-            ksm_flag = int(line.split(' ')[1].split(',')[0])
-    if int(ksm_flag) != 1:
-        logging.info("KSM module is not loaded! Trying to load module and "
-                     "start ksmctl...")
-        try:
-            utils.run("modprobe ksm")
-            utils.run("ksmctl start 5000 100")
-        except error.CmdError, e:
-            raise error.TestFail("Failed to load KSM: %s" % e)
-    logging.debug("KSM module loaded and ksmctl started")
-
     swap = int(utils.read_from_meminfo("SwapTotal")) / 1024
 
     logging.debug("Overcommit = %f", overcommit)
diff --git a/client/tests/kvm/tests_base.cfg.sample b/client/tests/kvm/tests_base.cfg.sample
index e73ba44..2db0d2c 100644
--- a/client/tests/kvm/tests_base.cfg.sample
+++ b/client/tests/kvm/tests_base.cfg.sample
@@ -285,6 +285,8 @@  variants:
         catch_uuid_cmd = dmidecode | awk -F: '/UUID/ {print $2}'
 
     - ksm_overcommit:
+        pre_command = "[ -e /dev/ksm ] && true || modprobe ksm && ksmctl start 5000 50"
+        pre_command_critical = yes
         # Don't preprocess any vms as we need to change its params
         vms = ''
         image_snapshot = yes