lisa.wlgen.rta.ParametricPhase#
- class lisa.wlgen.rta.ParametricPhase(template=None, properties=None, **kwargs)[source]#
Bases:
RTAPhaseTree
Base class for phases with special behavior beyond their properties.
- Parameters:
template (RTAPhaseBase) – Template phase used to create children.
properties (dict(str, object)) – Properties to set for that phase.
prop_cpus (set(int) or None or lisa.wlgen.rta.CPUProperty) – CPU affinity property.
prop_dl_deadline (int or lisa.wlgen.rta.DeadlineDeadlineProperty) –
SCHED_DEADLINE
scheduler policy’s deadline property.prop_dl_period (int or lisa.wlgen.rta.DeadlinePeriodProperty) –
SCHED_DEADLINE
scheduler policy’s period property.prop_dl_runtime (int or lisa.wlgen.rta.DeadlineRuntimeProperty) –
SCHED_DEADLINE
scheduler policy’s runtime property or, since Linux 6.12,SCHED_OTHER
scheduler policy’s custom slice length.prop_meta (dict or lisa.wlgen.rta.MetaStoreProperty) – Plain key-value storage to be used as the user see fit.
prop_name (str or lisa.wlgen.rta.NameProperty) – Name the phase.
prop_numa_nodes_membind (set(int) or None or lisa.wlgen.rta.NUMAMembindProperty) – NUMA node membind property.
prop_policy (str or lisa.wlgen.rta.PolicyProperty) – Scheduler policy property.
prop_priority (int or lisa.wlgen.rta.PriorityProperty) – Task scheduler priority property.
prop_taskgroup (str or lisa.wlgen.rta.TaskGroupProperty) – Task group property.
prop_uclamp (tuple(int or None, int or None) or UclampProperty or lisa.wlgen.rta.UclampProperty) – Set util clamp (uclamp) values.
prop_wload (lisa.wlgen.rta.WloadPropertyBase) – Phase workload.
- Variable keyword arguments:
Forwarded to
_make_children()
.
Extra behaviour is enabled by allowing this phase to have multiple children created based on the parameters.
Classes
If no template is passed, an instance of this class will be used as template.
Attributes
__reversed__
inheritedSee
collections.abc.Mapping.__reversed__
Properties
children
inheritedTree levels are transparent and their children expanded directly in their parent, as long as they have no properties on their own that could change the output of
topo_sort()
. This allows nestedRTAPhaseTree
to act as if it was just a flat node, which is useful since repeated composition with+
operator will give nested binary trees like that.is_empty
inheritedTrue
if the phase has no content and will result in an empty JSON phase(s).phases
inheritedTopological sort of the phases in the tree, with the properties merged along each path from the root to the leaves.
Methods
HASH_COERCE()
inheritedUsed to coerce the values of
self.__dict__
to hashable values.__add__()
inheritedCompose two phases together by running one after the other.
__await__()
inherited__class_getitem__()
inheritedSee
collections.abc.Iterable.__class_getitem__()
__contains__()
inheritedSee
collections.abc.Mapping.__contains__()
__getitem__()
inheritedLookup the value of the given property on that phase.
__init_subclass__()
inheritedUpdate the docstring used as a
str.format()
template with the following keys:.__iter__()
inherited__len__()
inherited__mul__()
inheritedMultiply the phase by
n
, in order to repeat it.__rmul__()
inheritedget()
inheritedSee
collections.abc.Mapping.get()
get_rtapp_repr()
inheritedrt-app JSON representation of the phase.
items()
inheritedSee
collections.abc.Mapping.items()
keys()
inheritedSee
collections.abc.Mapping.keys()
split_prop_kwargs()
inheritedSplit the
kwargs
into two categories:.topo_sort()
inheritedTopological sort of the tree, and combine the properties along each path from root to leaves at the same time.
values()
inheritedSee
collections.abc.Mapping.values()
with_delete_props()
inheritedDelete all the given property names, equivalent to
with_props(foo=delete())
.with_phase_properties()
inheritedReturn a cloned instance with the properties combined with the given
properties
usingRTAPhaseProperties.__and__()
(&
). Theproperties
parameter is the left operand. Ifproperties
isNone
, just return the phase itself.with_properties_map()
inheritedSame as
with_phase_properties()
but withproperties
passed toRTAPhaseProperties.from_polymorphic()
first.with_props()
inheritedSame as
with_phase_properties()
but using keyword arguments to set each property. The resulting dictionary is passed toRTAPhaseProperties.from_polymorphic()
first.
Classes#
Attributes#
- ParametricPhase.__reversed__ = None#
Properties#
- property ParametricPhase.children#
Inherited property, see
lisa.wlgen.rta.RTAPhaseTree.children
Tree levels are transparent and their children expanded directly in their parent, as long as they have no properties on their own that could change the output of
topo_sort()
. This allows nestedRTAPhaseTree
to act as if it was just a flat node, which is useful since repeated composition with+
operator will give nested binary trees like that.
- property ParametricPhase.is_empty#
Inherited property, see
lisa.wlgen.rta.RTAPhaseTree.is_empty
True
if the phase has no content and will result in an empty JSON phase(s).
- property ParametricPhase.phases#
Inherited property, see
lisa.wlgen.rta.RTAPhaseTree.phases
Topological sort of the phases in the tree, with the properties merged along each path from the root to the leaves.
Methods#
- ParametricPhase.HASH_COERCE(x, coerce)#
Inherited method, see
lisa.utils.SimpleHash.HASH_COERCE()
Used to coerce the values of
self.__dict__
to hashable values.
- ParametricPhase.__add__(other)#
Inherited method, see
lisa.wlgen.rta.RTAPhaseBase.__add__()
Compose two phases together by running one after the other.
- ParametricPhase.__await__()#
Inherited method, see
lisa.wlgen.rta.RTAPhaseBase.__await__()
- classmethod ParametricPhase.__class_getitem__()#
Inherited method, see
collections.abc.Iterable.__class_getitem__()
- ParametricPhase.__contains__()#
Inherited method, see
collections.abc.Mapping.__contains__()
- ParametricPhase.__getitem__(key)#
Inherited method, see
lisa.wlgen.rta.RTAPhaseBase.__getitem__()
Lookup the value of the given property on that phase.
- classmethod ParametricPhase.__init_subclass__(**kwargs)#
Inherited method, see
lisa.wlgen.rta.RTAPhaseBase.__init_subclass__()
Update the docstring used as a
str.format()
template with the following keys:.
- ParametricPhase.__iter__()#
Inherited method, see
lisa.wlgen.rta.RTAPhaseBase.__iter__()
- ParametricPhase.__len__()#
Inherited method, see
lisa.wlgen.rta.RTAPhaseBase.__len__()
- ParametricPhase.__mul__(n)#
Inherited method, see
lisa.wlgen.rta.RTAPhaseBase.__mul__()
Multiply the phase by
n
, in order to repeat it.
- ParametricPhase.__rmul__(n)#
Inherited method, see
lisa.wlgen.rta.RTAPhaseBase.__rmul__()
- ParametricPhase.get()#
Inherited method, see
collections.abc.Mapping.get()
- ParametricPhase.get_rtapp_repr(task_name, plat_info, force_defaults=False, no_force_default_keys=None, **kwargs)#
Inherited method, see
lisa.wlgen.rta.RTAPhaseTree.get_rtapp_repr()
rt-app JSON representation of the phase.
- ParametricPhase.items()#
Inherited method, see
collections.abc.Mapping.items()
- ParametricPhase.keys()#
Inherited method, see
collections.abc.Mapping.keys()
- static ParametricPhase.split_prop_kwargs(kwargs, properties=None)#
Inherited method, see
lisa.wlgen.rta.RTAPhaseBase.split_prop_kwargs()
Split the
kwargs
into two categories:.
- ParametricPhase.topo_sort()#
Inherited method, see
lisa.wlgen.rta.RTAPhaseTree.topo_sort()
Topological sort of the tree, and combine the properties along each path from root to leaves at the same time.
- ParametricPhase.values()#
Inherited method, see
collections.abc.Mapping.values()
- ParametricPhase.with_delete_props(properties)#
Inherited method, see
lisa.wlgen.rta.RTAPhaseBase.with_delete_props()
Delete all the given property names, equivalent to
with_props(foo=delete())
.
- ParametricPhase.with_phase_properties(properties)#
Inherited method, see
lisa.wlgen.rta.RTAPhaseBase.with_phase_properties()
Return a cloned instance with the properties combined with the given
properties
usingRTAPhaseProperties.__and__()
(&
). Theproperties
parameter is the left operand. Ifproperties
isNone
, just return the phase itself.
- ParametricPhase.with_properties_map(properties, **kwargs)#
Inherited method, see
lisa.wlgen.rta.RTAPhaseBase.with_properties_map()
Same as
with_phase_properties()
but withproperties
passed toRTAPhaseProperties.from_polymorphic()
first.
- ParametricPhase.with_props(**kwargs)#
Inherited method, see
lisa.wlgen.rta.RTAPhaseBase.with_props()
Same as
with_phase_properties()
but using keyword arguments to set each property. The resulting dictionary is passed toRTAPhaseProperties.from_polymorphic()
first.