@@ -439,6 +439,7 @@ def __init__(self, cv_HMC=None, system_name=None,
439
439
self .hmc_con = self .cv_HMC .ssh
440
440
self .mmulist = self .c .run_command ("tail /proc/cpuinfo | grep MMU" )
441
441
self .mmu = str (self .mmulist [0 ]).split (':' )[1 ].strip ()
442
+ self .cmdline = self .c .run_command ("cat /proc/cmdline | grep -o disable_radix=1" )
442
443
self .obj = OpTestInstallUtil .InstallUtil ()
443
444
self .os_level = self .cv_HOST .host_get_OS_Level ()
444
445
self .size_hgpg = hugepage
@@ -470,6 +471,10 @@ def OsHugepageSetup(self):
470
471
exist_cfg = self .cv_HMC .get_lpar_cfg ()
471
472
self .des_mem = int (exist_cfg .get ('desired_mem' ))
472
473
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'
473
478
if 'Radix' in self .mmu :
474
479
if self .size_hgpg == "16M" :
475
480
self .fail ("16M is not supported in Radix" )
@@ -481,8 +486,8 @@ def OsHugepageSetup(self):
481
486
elif 'Hash' in self .mmu and self .size_hgpg == "16M" :
482
487
self .no_hgpg = int (self .percentile / 16 )
483
488
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 ),
486
491
"" ,
487
492
reboot = True ,
488
493
reboot_cmd = True )
0 commit comments