mirror of
https://github.com/sched-ext/scx.git
synced 2024-12-13 20:17:18 +00:00
7bd61f4334
These methods allow switching between different schedulers without requiring manual stopping and starting.
111 lines
3.7 KiB
XML
111 lines
3.7 KiB
XML
<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
|
|
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
|
|
<node>
|
|
<!--
|
|
org.scx.Loader:
|
|
@short_description: Scheduler Loader Service
|
|
|
|
The Scheduler Loader service provides an interface for managing schedulers
|
|
that can be used with sched-ext. It allows starting, stopping, switching and querying
|
|
the status of supported schedulers.
|
|
-->
|
|
<interface name="org.scx.Loader">
|
|
|
|
<!--
|
|
CurrentScheduler:
|
|
|
|
The name of the currently running scheduler. If no scheduler is active,
|
|
this property will be set to "unknown".
|
|
-->
|
|
<property name="CurrentScheduler" type="s" access="read"/>
|
|
|
|
<!--
|
|
SchedulerMode:
|
|
@sched_mode: 0 = Auto, 1 = Gaming, 2 = PowerSave, 3 = LowLatency
|
|
|
|
The currently active scheduler mode. Scheduler modes allow you to
|
|
apply pre-defined configurations to a scheduler that are
|
|
optimized for different use cases. If no scheduler is active,
|
|
this property will be set to 0 (Auto).
|
|
-->
|
|
<property name="SchedulerMode" type="u" access="read"/>
|
|
|
|
<!--
|
|
SupportedSchedulers:
|
|
|
|
A list of the schedulers currently supported by the Scheduler Loader.
|
|
The names of the supported schedulers will be listed as strings in
|
|
this array.
|
|
-->
|
|
<property name="SupportedSchedulers" type="as" access="read"/>
|
|
|
|
<!--
|
|
StartScheduler:
|
|
|
|
Starts the specified scheduler with the given mode.
|
|
|
|
@scx_name: The name of the scheduler to start (e.g., "scx_rusty").
|
|
@sched_mode: The scheduler mode (profile) as an unsigned integer.
|
|
See the SchedulerMode property for details.
|
|
-->
|
|
<method name="StartScheduler">
|
|
<arg name="scx_name" type="s" direction="in"/>
|
|
<arg name="sched_mode" type="u" direction="in"/>
|
|
</method>
|
|
|
|
<!--
|
|
StartSchedulerWithArgs:
|
|
|
|
Starts the specified scheduler with the provided arguments.
|
|
|
|
@scx_name: The name of the scheduler to start (e.g., "scx_bpfland").
|
|
@scx_args: An array of strings representing the CLI arguments to pass
|
|
to the scheduler.
|
|
-->
|
|
<method name="StartSchedulerWithArgs">
|
|
<arg name="scx_name" type="s" direction="in"/>
|
|
<arg name="scx_args" type="as" direction="in"/>
|
|
</method>
|
|
|
|
<!--
|
|
SwitchScheduler:
|
|
|
|
Switches to the specified scheduler with the given mode. This method
|
|
will stop the currently running scheduler (if any) and then start the
|
|
new scheduler.
|
|
|
|
@scx_name: The name of the scheduler to switch to (e.g., "scx_rusty").
|
|
@sched_mode: The scheduler mode (profile) as an unsigned integer.
|
|
See the SchedulerMode property for details.
|
|
-->
|
|
<method name="SwitchScheduler">
|
|
<arg name="scx_name" type="s" direction="in"/>
|
|
<arg name="sched_mode" type="u" direction="in"/>
|
|
</method>
|
|
|
|
<!--
|
|
SwitchSchedulerWithArgs:
|
|
|
|
Switches to the specified scheduler with the provided arguments. This
|
|
method will stop the currently running scheduler (if any) and then
|
|
start the new scheduler with the given arguments.
|
|
|
|
@scx_name: The name of the scheduler to switch to (e.g., "scx_bpfland").
|
|
@scx_args: An array of strings representing the CLI arguments to pass
|
|
to the scheduler.
|
|
-->
|
|
<method name="SwitchSchedulerWithArgs">
|
|
<arg name="scx_name" type="s" direction="in"/>
|
|
<arg name="scx_args" type="as" direction="in"/>
|
|
</method>
|
|
|
|
<!--
|
|
StopScheduler:
|
|
|
|
Stops the currently running scheduler.
|
|
-->
|
|
<method name="StopScheduler">
|
|
</method>
|
|
</interface>
|
|
</node>
|