rt-app: Add custom slice support via dl-runtime
Kernels starting with 6.12 have a new feature which allows requesting a custom slice length on a task while using one of SCHED_OTHER
, SCHED_BATCH
or SCHED_EXT
. The interface was created by reusing the existing sched_attr::sched_runtime
parameter.
This PR adds support in LISA's rt-app API for setting custom slice on SCHED_OTHER
via the prop_dl_runtime
parameter, in support of PR https://github.com/scheduler-tools/rt-app/pull/134.
Generating the test workload (debug log level needed for verbose output):
rtapp_profile = {
f'other': RTAPhase(prop_wload=SleepWload(2), prop_policy='SCHED_OTHER', prop_priority=-19, prop_dl_runtime=0.1)
+ RTAPhase(prop_wload=SleepWload(2), prop_policy='SCHED_OTHER')
+ RTAPhase(prop_wload=SleepWload(2), prop_policy='SCHED_DEADLINE', prop_dl_runtime=0.3)
+ RTAPhase(prop_wload=SleepWload(2), prop_policy='SCHED_OTHER'),
f'dl': RTAPhase(prop_wload=SleepWload(2), prop_policy='SCHED_DEADLINE', prop_dl_runtime=0.2)
}
wload = RTA.from_profile(target, rtapp_profile, name='test_workload', log_level='debug')
Attached are the resulting rt-app JSON config and stdout logs from the run.