.. title:: rta lisa.wlgen.rta ============== .. toctree:: :hidden: AndProperty BarrierWload CPUProperty ComposableMultiConcretePropertyBase ConcretePropertyBase ContaminatingProperty DeadlineDeadlineProperty DeadlinePeriodProperty DeadlineRuntimeProperty DeletedProperty DurationWload DutyCycleSweepPhase IOWload LeafPrecedenceProperty LockWload MaxProperty MemWload MetaPropertyBase MetaStoreProperty MinProperty MultiConcreteProperty MultiProperty NUMAMembindProperty NameProperty OrProperty OverridenProperty ParametricPhase PeriodicWload Phase PlaceHolderValue PolicyProperty PriorityProperty PropertyBase PropertyMeta PropertyWrapper RTA RTAConf RTAMonad RTAPhase RTAPhaseBase RTAPhaseProperties RTAPhaseTree RTAPhaseTreeChildren RunForTimeWload RunWload SimpleConcreteProperty SimpleProperty SleepWload SweepPhase TaskGroupProperty TimerWload UclampProperty WaitWload WithProperties WloadPropertyBase WloadSequence YieldWload Periodic Pulse RTATask Ramp RunAndSync Step delete leaf_precedence override task_factory CalibrationError .. module:: lisa.wlgen.rta .. withrefctx:: :module: lisa.wlgen.rta .. automodule:: lisa.wlgen.rta :no-index: :no-members: :no-inherited-members: :no-undoc-members: :no-private-members: :no-special-members: .. rubric:: Classes .. list-table:: :align: left * - :class:`~lisa.wlgen.rta.AndProperty` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.AndProperty Semigroup property with the ``&`` operation. * - :class:`~lisa.wlgen.rta.BarrierWload` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.BarrierWload Workload for the ``barrier`` event. * - :class:`~lisa.wlgen.rta.CPUProperty` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.CPUProperty CPU affinity property. * - :class:`~lisa.wlgen.rta.ComposableMultiConcretePropertyBase` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.ComposableMultiConcretePropertyBase Base class for properties that are a collection of values. * - :class:`~lisa.wlgen.rta.ConcretePropertyBase` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.ConcretePropertyBase Base class for concrete properties. * - :class:`~lisa.wlgen.rta.ContaminatingProperty` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.ContaminatingProperty Base class for properties that will "contaminate" other instances when combined with them, even if they are closer to the leaf. * - :class:`~lisa.wlgen.rta.DeadlineDeadlineProperty` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.DeadlineDeadlineProperty ``SCHED_DEADLINE`` scheduler policy's deadline property. * - :class:`~lisa.wlgen.rta.DeadlinePeriodProperty` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.DeadlinePeriodProperty ``SCHED_DEADLINE`` scheduler policy's period property. * - :class:`~lisa.wlgen.rta.DeadlineRuntimeProperty` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.DeadlineRuntimeProperty ``SCHED_DEADLINE`` scheduler policy's runtime property or, since Linux 6.12, ``SCHED_OTHER`` scheduler policy's custom slice length. * - :class:`~lisa.wlgen.rta.DeletedProperty` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.DeletedProperty Forcefully delete the given property, recursively for all subtrees. * - :class:`~lisa.wlgen.rta.DurationWload` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.DurationWload Workload parametrized by a duration. * - :class:`~lisa.wlgen.rta.DutyCycleSweepPhase` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.DutyCycleSweepPhase Sweep on the ``duty_cycle_pct`` parameter of a :class:`PeriodicWload`. * - :class:`~lisa.wlgen.rta.IOWload` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.IOWload Workload for the ``iorun`` event. * - :class:`~lisa.wlgen.rta.LeafPrecedenceProperty` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.LeafPrecedenceProperty Invert the usual combination of order (root to leaf) of property values. * - :class:`~lisa.wlgen.rta.LockWload` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.LockWload Workload for the ``lock`` and ``unlock`` event. * - :class:`~lisa.wlgen.rta.MaxProperty` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.MaxProperty Semigroup property with the :func:`max` operation. * - :class:`~lisa.wlgen.rta.MemWload` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.MemWload Workload for the ``mem`` event. * - :class:`~lisa.wlgen.rta.MetaPropertyBase` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.MetaPropertyBase Base class for meta properties. * - :class:`~lisa.wlgen.rta.MetaStoreProperty` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.MetaStoreProperty Plain key-value storage to be used as the user see fit. * - :class:`~lisa.wlgen.rta.MinProperty` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.MinProperty Semigroup property with the :func:`min` operation. * - :class:`~lisa.wlgen.rta.MultiConcreteProperty` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.MultiConcreteProperty Base class for properties setting multiple JSON keys at once. * - :class:`~lisa.wlgen.rta.MultiProperty` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.MultiProperty Base class for properties setting multiple JSON keys at once. * - :class:`~lisa.wlgen.rta.NUMAMembindProperty` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.NUMAMembindProperty NUMA node membind property. * - :class:`~lisa.wlgen.rta.NameProperty` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.NameProperty Name the phase. * - :class:`~lisa.wlgen.rta.OrProperty` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.OrProperty Semigroup property with the ``|`` operation. * - :class:`~lisa.wlgen.rta.OverridenProperty` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.OverridenProperty Forcefully override the value of another property. * - :class:`~lisa.wlgen.rta.ParametricPhase` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.ParametricPhase Base class for phases with special behavior beyond their properties. * - :class:`~lisa.wlgen.rta.PeriodicWload` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.PeriodicWload Periodic task workload. * - :class:`~lisa.wlgen.rta.Phase` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.Phase Descriptor for an rt-app load phase. * - :class:`~lisa.wlgen.rta.PlaceHolderValue` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.PlaceHolderValue Placeholder value to be passed to :meth:`RTAPhaseProperties.from_polymorphic` to hijack the usual :meth:`PropertyBase.from_key` path and allow ``PROPERTY_CLS.from_key`` to be called instead. * - :class:`~lisa.wlgen.rta.PolicyProperty` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.PolicyProperty Scheduler policy property. * - :class:`~lisa.wlgen.rta.PriorityProperty` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.PriorityProperty Task scheduler priority property. * - :class:`~lisa.wlgen.rta.PropertyBase` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.PropertyBase Base class of all properties. * - :class:`~lisa.wlgen.rta.PropertyMeta` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.PropertyMeta Metaclass for properties. * - :class:`~lisa.wlgen.rta.PropertyWrapper` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.PropertyWrapper Base class for properties that are merely wrapper around another property instance. * - :class:`~lisa.wlgen.rta.RTA` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.RTA An rt-app workload. * - :class:`~lisa.wlgen.rta.RTAConf` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.RTAConf JSON configuration for rt-app. * - :class:`~lisa.wlgen.rta.RTAMonad` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.RTAMonad Monad from derived from :class:`lisa.monad.StateDiscard` used to define :class:`RTAPhaseBase` in a more natural way. * - :class:`~lisa.wlgen.rta.RTAPhase` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.RTAPhase Leaf in a tree of :class:`RTAPhaseTree`. * - :class:`~lisa.wlgen.rta.RTAPhaseBase` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.RTAPhaseBase Base class for rt-app phase modelisation. * - :class:`~lisa.wlgen.rta.RTAPhaseProperties` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.RTAPhaseProperties Hold the properties of an :class:`RTAPhaseBase`. * - :class:`~lisa.wlgen.rta.RTAPhaseTree` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.RTAPhaseTree Tree node in an :class:`_RTAPhaseTreeBase`. * - :class:`~lisa.wlgen.rta.RTAPhaseTreeChildren` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.RTAPhaseTreeChildren Proxy object used by :class:`RTAPhaseTree` to store the children list. * - :class:`~lisa.wlgen.rta.RunForTimeWload` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.RunForTimeWload Workload for the ``runtime`` event. * - :class:`~lisa.wlgen.rta.RunWload` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.RunWload Workload for the ``run`` event. * - :class:`~lisa.wlgen.rta.SimpleConcreteProperty` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.SimpleConcreteProperty Base class for simple properties that maps to JSON. * - :class:`~lisa.wlgen.rta.SimpleProperty` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.SimpleProperty Simple property with dynamic ``key``. * - :class:`~lisa.wlgen.rta.SleepWload` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.SleepWload Workload for the ``sleep`` event. * - :class:`~lisa.wlgen.rta.SweepPhase` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.SweepPhase Parametric phase creating children by setting the property ``key`` to values found in ``values``, in order. * - :class:`~lisa.wlgen.rta.TaskGroupProperty` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.TaskGroupProperty Task group property. * - :class:`~lisa.wlgen.rta.TimerWload` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.TimerWload Workload for the ``timer`` event. * - :class:`~lisa.wlgen.rta.UclampProperty` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.UclampProperty Set util clamp (uclamp) values. * - :class:`~lisa.wlgen.rta.WaitWload` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.WaitWload Workload for the ``wait``, ``signal`` and ``broad`` events. * - :class:`~lisa.wlgen.rta.WithProperties` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.WithProperties Asynchronous context manager used to set properties on the enclosed phases. * - :class:`~lisa.wlgen.rta.WloadPropertyBase` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.WloadPropertyBase Phase workload. * - :class:`~lisa.wlgen.rta.WloadSequence` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.WloadSequence Sequence of workloads, to be executed one after another. * - :class:`~lisa.wlgen.rta.YieldWload` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.YieldWload Workload for the ``yield`` event. .. rubric:: Functions .. list-table:: :align: left * - :func:`~lisa.wlgen.rta.delete` - .. withrefctx:: :module: lisa.wlgen.rta Remove the given property from the phase::. * - :func:`~lisa.wlgen.rta.leaf_precedence` - .. withrefctx:: :module: lisa.wlgen.rta Give precedence to the leaf values when combining with ``&``::. * - :func:`~lisa.wlgen.rta.override` - .. withrefctx:: :module: lisa.wlgen.rta Override a property with the given value, rather than combining it with the property-specific ``&`` implementation::. * - :func:`~lisa.wlgen.rta.task_factory` - .. withrefctx:: :module: lisa.wlgen.rta Coroutine function decorator allowing to create tasks using actions from both :class:`RTAMonad` and :class:`lisa.fuzz.GenMonad`. .. rubric:: Exceptions .. list-table:: :align: left * - :class:`~lisa.wlgen.rta.CalibrationError` - .. withrefctx:: :module: lisa.wlgen.rta :class: lisa.wlgen.rta.CalibrationError Exception raised when the ``rt-app`` calibration is not consistent with the CPU capacities in a way or another.