Skip to content

Commit def0208

Browse files
author
YongxueHong
authored
Merge pull request #4081 from bgartzi/env_process_refactoring-thp
env_process: Refactor transparent huge pages setup/cleanup
2 parents a126ff7 + b5963b0 commit def0208

2 files changed

Lines changed: 14 additions & 13 deletions

File tree

virttest/env_process.py

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
from virttest.test_setup.gcov import ResetQemuGCov
4747
from virttest.test_setup.kernel import ReloadKVMModules
4848
from virttest.test_setup.libvirt_setup import LibvirtdDebugLogConfig
49-
from virttest.test_setup.memory import HugePagesSetup
49+
from virttest.test_setup.memory import HugePagesSetup, TransparentHugePagesSetup
5050
from virttest.test_setup.migration import MigrationEnvSetup
5151
from virttest.test_setup.networking import (
5252
BridgeConfig,
@@ -1020,6 +1020,7 @@ def preprocess(test, params, env):
10201020
_setup_manager.register(CheckLibvirtVersion)
10211021
_setup_manager.register(LogVersionInfo)
10221022
_setup_manager.register(HugePagesSetup)
1023+
_setup_manager.register(TransparentHugePagesSetup)
10231024
_setup_manager.do_setup()
10241025

10251026
vm_type = params.get("vm_type")
@@ -1028,10 +1029,6 @@ def preprocess(test, params, env):
10281029

10291030
libvirtd_inst = None
10301031

1031-
if params.get("setup_thp") == "yes":
1032-
thp = test_setup.TransparentHugePageConfig(test, params, env)
1033-
thp.setup()
1034-
10351032
if params.get("setup_ksm") == "yes":
10361033
ksm = test_setup.KSMConfig(params, env)
10371034
ksm.setup(env)
@@ -1513,14 +1510,6 @@ def postprocess(test, params, env):
15131510
libvirtd_inst = None
15141511
vm_type = params.get("vm_type")
15151512

1516-
if params.get("setup_thp") == "yes":
1517-
try:
1518-
thp = test_setup.TransparentHugePageConfig(test, params, env)
1519-
thp.cleanup()
1520-
except Exception as details:
1521-
err += "\nTHP cleanup: %s" % str(details).replace("\\n", "\n ")
1522-
LOG.error(details)
1523-
15241513
if params.get("setup_ksm") == "yes":
15251514
try:
15261515
ksm = test_setup.KSMConfig(params, env)

virttest/test_setup/memory.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,3 +34,15 @@ def cleanup(self):
3434
if post_hugepages_surp > self._pre_hugepages_surp:
3535
leak_num = post_hugepages_surp - self._pre_hugepages_surp
3636
raise test_setup.HugePagesLeakError("%d huge pages leaked!" % leak_num)
37+
38+
39+
class TransparentHugePagesSetup(Setuper):
40+
def setup(self):
41+
if self.params.get("setup_thp") == "yes":
42+
thp = test_setup.TransparentHugePageConfig(self.test, self.params, self.env)
43+
thp.setup()
44+
45+
def cleanup(self):
46+
if self.params.get("setup_thp") == "yes":
47+
thp = test_setup.TransparentHugePageConfig(self.test, self.params, self.env)
48+
thp.cleanup()

0 commit comments

Comments
 (0)