On Sat, 2012-05-26 at 13:07 +0200, Juri Lelli wrote:Hi,
On 05/25/2012 12:38 PM, Peter Zijlstra wrote:On Wed, 2012-05-23 at 23:42 +0200, Juri Lelli wrote:+/*
+ * Coupling of -dl and -rt bandwidth.
+ *
+ * Here we check, while setting the system wide bandwidth available
+ * for -dl tasks and groups, if the new values are consistent with
+ * the system settings for the bandwidth available to -rt entities.
+ *
+ * IOW, we want to enforce that
+ *
+ * rt_bandwidth + dl_bandwidth<= 100%
+ *
+ * is always true.
+ */
I was thinking we could do it the other way around, have have
dl_bandwidth included in rt_bandwidth.
If I understand correctly, you are proposing to treat -dl tasks as a
special case of "real-time" tasks. Then we could reserve some bw to
"real-time" (rt_bandwidth cap) activities and give a piece of this
bw to -dl tasks (what remains is for -rt tasks). This is in principle
nice and useful, but I'm not quite sure that this is the right point
to achieve this logical behavior.
I mean, -dl and -rt tasks are separately treated, so it is probably
cleaner to manage their knobs separately. They have to coexist rather
than be considered one a sub-case of the other. A better way to go
for a common cap for them is probably the (long-term) hierarchical
scheduling mechanism.
So, I would prefer to keep the interface as is for now, but I can also
completely misunderstood your thoughts :-P.
The thing is, keeping it separate makes for an impossible configuration
scenario. Esp. once we enable !root usage. The proposed 5% is very
limiting and regular users won't have sufficient privilege to change it.
Also lowering FIFO/RR by default isn't a real option since people expect
that to get all time already (however silly that expectation is).