Skip to content

Commit 0f99c77

Browse files
authored
Add test to check that access-counter based page migration is disabled (#496)
1 parent 2b8fcc1 commit 0f99c77

File tree

1 file changed

+28
-5
lines changed

1 file changed

+28
-5
lines changed

checks/system/slurm/slurm.py

Lines changed: 28 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import reframe.utility.osext as osext
1414
import reframe.utility.sanity as sn
1515

16-
sys.path.append(str(pathlib.Path(__file__).parent / 'mixins'))
16+
sys.path.append(str(pathlib.Path(__file__).parent.parent.parent / 'mixins'))
1717
from uenv_slurm_mpi_options import UenvSlurmMpiOptionsMixin # noqa: E402
1818

1919

@@ -197,7 +197,8 @@ def assert_found_exceeded_memory(self):
197197

198198

199199
@rfm.simple_test
200-
class MemoryOverconsumptionCheckMPI(SlurmCompiledBaseCheck, UenvSlurmMpiOptionsMixin):
200+
class MemoryOverconsumptionCheckMPI(SlurmCompiledBaseCheck,
201+
UenvSlurmMpiOptionsMixin):
201202
# TODO: maintainers = ['@jgphpc', '@ekouts']
202203
descr = 'Tests for max allocatable memory'
203204
valid_systems = ['+remote']
@@ -550,6 +551,28 @@ def validate(self):
550551
return sn.assert_not_found(r'\bisolcpus=', self.stdout)
551552

552553

554+
@rfm.simple_test
555+
class SlurmNoUvmPerfAccessCounterMigration(rfm.RunOnlyRegressionTest):
556+
valid_systems = ['+remote +scontrol +nvgpu']
557+
valid_prog_environs = ['builtin']
558+
maintainers = ['msimberg', 'SSA']
559+
descr = '''
560+
Check that uvm_perf_access_counter_mimc_migration_enable is set to 0
561+
as it is buggy in older drivers.
562+
'''
563+
time_limit = '1m'
564+
num_tasks_per_node = 1
565+
sourcesdir = None
566+
executable = 'cat'
567+
executable_opts = [('/sys/module/nvidia_uvm/parameters/'
568+
'uvm_perf_access_counter_mimc_migration_enable')]
569+
tags = {'production', 'maintenance', 'slurm'}
570+
571+
@sanity_function
572+
def validate(self):
573+
return sn.assert_found(r'0', self.stdout)
574+
575+
553576
@rfm.simple_test
554577
class SlurmGPUGresTest(SlurmSimpleBaseCheck):
555578
descr = '''
@@ -585,13 +608,13 @@ def assert_gres_valid(self):
585608
)
586609
good_nodes = sn.evaluate(
587610
sn.extractall(rf'{node_re}.*{part_re}.*{gres_re}',
588-
self.stdout, 1)
611+
self.stdout, 1)
589612
)
590613
bad_nodes = ','.join(sorted(set(all_nodes) - set(good_nodes)))
591614

592615
return sn.assert_true(
593616
len(bad_nodes) == 0,
594617
msg=(f'{len(good_nodes)}/{len(all_nodes)} of '
595-
f'{partition_name} nodes satisfy {gres_re}. Bad nodes: '
596-
f'{bad_nodes}')
618+
f'{partition_name} nodes satisfy {gres_re}. Bad nodes: '
619+
f'{bad_nodes}')
597620
)

0 commit comments

Comments
 (0)