@@ -439,6 +439,7 @@ def __init__(self, cv_HMC=None, system_name=None,
439439 self .hmc_con = self .cv_HMC .ssh
440440 self .mmulist = self .c .run_command ("tail /proc/cpuinfo | grep MMU" )
441441 self .mmu = str (self .mmulist [0 ]).split (':' )[1 ].strip ()
442+ self .cmdline = self .c .run_command ("cat /proc/cmdline | grep -o disable_radix=1" )
442443 self .obj = OpTestInstallUtil .InstallUtil ()
443444 self .os_level = self .cv_HOST .host_get_OS_Level ()
444445 self .size_hgpg = hugepage
@@ -470,6 +471,10 @@ def OsHugepageSetup(self):
470471 exist_cfg = self .cv_HMC .get_lpar_cfg ()
471472 self .des_mem = int (exist_cfg .get ('desired_mem' ))
472473 self .percentile = int (self .des_mem * 0.1 )
474+ if 'disable_radix=1' in self .cmdline and 'Hash' in self .mmu :
475+ self .obj .update_kernel_cmdline (self .os_level , remove_args = "disable_radix=1" ,
476+ reboot = False , reboot_cmd = False )
477+ self .mmu = 'Radix'
473478 if 'Radix' in self .mmu :
474479 if self .size_hgpg == "16M" :
475480 self .fail ("16M is not supported in Radix" )
@@ -481,8 +486,8 @@ def OsHugepageSetup(self):
481486 elif 'Hash' in self .mmu and self .size_hgpg == "16M" :
482487 self .no_hgpg = int (self .percentile / 16 )
483488 self .obj .update_kernel_cmdline (self .os_level ,
484- "hugepagesz=%s hugepages=%s" % (
485- self .size_hgpg , self .no_hgpg ),
489+ "default_hugepagesz=%s hugepagesz=%s hugepages=%s" % (
490+ self .size_hgpg , self .size_hgpg , self . no_hgpg ),
486491 "" ,
487492 reboot = True ,
488493 reboot_cmd = True )
0 commit comments