diff options
author | Vincent Guittot <vincent.guittot@linaro.org> | 2015-10-21 09:49:18 +0200 |
---|---|---|
committer | Vincent Guittot <vincent.guittot@linaro.org> | 2015-10-23 09:12:10 +0200 |
commit | be36aa5f8c6bd3c4e10af3f749a01f01cd7835f1 (patch) | |
tree | 9ca742850caf447444f42adb4df1673caaae0dc5 /doc | |
parent | 6133cd743673af1f0f056d05488b2cf26dbb4eb8 (diff) |
rt-app: fix deadline parameters naming
rt-app considers all key starting by "run" in the "phases" object as a run
event. But rt-app also allows to not create a "phases" object if there is only
one phase. In this latter case, the events are directly put at the "thread"
object level where the deadline parameters are also set. In such configuration,
the "runtime" key that is used for the runtime parameter of a deadline thread
is also filtered as a "run" event whereas it should not.
In order to remove any potential mix between deadline parameters and events,
we rename the deadline parameters in the .json file: "dl-period",
"dl-deadline", "dl-runtime".
For backward compatibility reason, rt-app will continue to check the presence
of "period", "deadline" and "runtime" keys at the thread level iff new keys
have not been found.
"dl-period", "dl-runtime" and "dl-deadline" are used by to set sched_setattr's
paramters which use nanosecond unit. All other rt-app parameters uses
microsecond unit which makes the description of a deadline thread quite
confusing as described in the example below:
"thread0" : {
"policy" : "SCHED_DEADLINE",
"dl-period" : 100000000,
"dl-deadline" : 20000000,
"dl-runtime" : 10000000,
"run" : 10000,
"timer" : { "ref" : "unique", "period" : 100000 }
},
In addition, deadline scheduler doesn't accept a runtime smaller than 1 usec
(at least in the v4.3 kernel). So we can align all the parameters of the json
file to usec unit in order to have consistant values in the description of a
thread.
The usec unit only applies to "dl-period", "dl-runtime" and "dl-deadline" but
"period", "deadline" and "runtime" still use ns to keep backward
compatibility.
Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org>
Diffstat (limited to 'doc')
-rw-r--r-- | doc/tutorial.txt | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/doc/tutorial.txt b/doc/tutorial.txt index c1be953..6dc9a44 100644 --- a/doc/tutorial.txt +++ b/doc/tutorial.txt @@ -163,14 +163,14 @@ is used if not defined must be aligned with the range allowed by the policy. The default priority is 0 for sched_other class and 10 for other classes -* runtime : Integer: Define the runtime budget for deadline scheduling class. -Default value is 0. +* dl-runtime : Integer: Define the runtime budget for deadline scheduling class. +Default value is 0. The unit is usec. -* period : Integer. Define the period duration for deadline scheduling class. -Default value is runtime. +* dl-period : Integer. Define the period duration for deadline scheduling class. +Default value is runtime. The unit is usec. -* deadline : Integer. Define the deadline parameter for deadline scheduling -class. Default value is period. +* dl-deadline : Integer. Define the deadline parameter for deadline scheduling +class. Default value is period. The unit is usec. * cpus: Array of Integer. Define the CPU affinity of the thread. Default value is all CPUs of the system. An example : "cpus" : [0, 2, 3] |