Lines Matching +full:real +full:- +full:time
2 Real-Time group scheduling
12 2.1 System-wide settings
28 resolution, or the time it takes to handle the budget refresh itself.
33 are real-time processes).
40 ---------------
42 Real-time scheduling is all about determinism, a group has to be able to rely on
43 the amount of bandwidth (eg. CPU time) being constant. In order to schedule
44 multiple groups of real-time tasks, each group must be assigned a fixed portion
45 of the CPU time available. Without a minimum guarantee a real-time group can
50 ----------------
52 CPU time is divided by means of specifying how much time can be spent running
53 in a given period. We allocate this "run time" for each real-time group which
54 the other real-time groups will not be permitted to use.
56 Any time not allocated to a real-time group will be used to run normal priority
57 tasks (SCHED_OTHER). Any allocated run time not used will also be picked up by
60 Let's consider an example: a frame fixed real-time renderer must deliver 25
63 time dedicated for the graphics. We can then give this group a run time of 0.8
66 This way the graphics group will have a 0.04s period with a 0.032s run time
68 needs only about 3% CPU time to do so, it can do with a 0.03 * 0.005s =
69 0.00015s. So this group can be scheduled with a period of 0.005s and a run time
72 The remaining CPU time will be used for user input and other tasks. Because
73 real-time tasks have explicitly allocated the CPU time they need to perform
77 lack an EDF scheduler to make non-uniform periods usable.
85 ------------------------
93 A global limit on how much time real-time scheduling may use. This is always
94 less or equal to the period_us, as it denotes the time allocated from the
95 period_us for the real-time tasks. Even without CONFIG_RT_GROUP_SCHED enabled,
96 this will limit time reserved to real-time processes. With
98 real-time groups.
100 * Time is specified in us because the interface is s32. This gives an
103 * sched_rt_runtime_us takes values from -1 to sched_rt_period_us.
104 * A run time of -1 specifies runtime == period, ie. no limit.
108 ---------------------
112 SCHED_OTHER (non-RT tasks). These defaults were chosen so that a run-away
113 real-time tasks will not lock up the machine but leave a little time to recover
114 it. By setting runtime to -1 you'd get the old behaviour back.
117 period from /proc/sys/kernel/sched_rt_period_us and a run time of 0. If you
121 Real-time group scheduling means you have to assign a portion of total CPU
122 bandwidth to the group before it will accept real-time tasks. Therefore you will
123 not be able to run real-time tasks as any user other than root until you have
124 done that, even if the user has the rights to run processes with real-time
129 ----------------------------
131 Enabling CONFIG_RT_GROUP_SCHED lets you explicitly allocate real
135 to control the CPU time reserved for each control group.
138 Documentation/admin-guide/cgroup-v1/cgroups.rst as well.
165 - this runs for 0.05s once every 0.1s
169 - this runs for 0.025s twice every 0.1s (or once every 0.05 sec).
178 get their allocated time.
182 the limited static priority levels 0-99. With deadline scheduling you need to
184 deadline delta (deadline - now)).
186 This means the whole PI machinery will have to be reworked - and that is one of