From: Luca Abeni <luca.abeni@unitn.it>
To: Henrik Austad <henrik@austad.us>, Juri Lelli <juri.lelli@arm.com>
Cc: peterz@infradead.org, rdunlap@infradead.org, mingo@redhat.com,
raistlin@linux.it, juri.lelli@gmail.com,
linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 3/4] Documentation/scheduler/sched-deadline.txt: improve and clarify AC bits
Date: Wed, 03 Sep 2014 08:49:38 +0200 [thread overview]
Message-ID: <5406BA02.20806@unitn.it> (raw)
In-Reply-To: <20140902214538.GC22581@sisyphus.home.austad.us>
Hi,
On 09/02/2014 11:45 PM, Henrik Austad wrote:
[...]
>> + On multiprocessor systems with global EDF scheduling (non partitioned
>> + systems), a sufficient test for schedulability can not be based on the
>> + utilisations (it can be shown that task sets with utilisations slightly
>> + larger than 1 can miss deadlines regardless of the number of CPUs M).
>> + However, as previously stated, enforcing that the total utilisation is smaller
>> + than M is enough to guarantee that non real-time tasks are not starved and
>> + that the tardiness of real-time tasks has an upper bound.
>
> I'd _really_ appreciate a link to a paper where all of this is presented
> and proved!
Well, my original plan was to add the bibliography in the next round of patches...
Is this ok?
[...]
>> + As already stated in Section 3, a necessary condition to be respected to
>> + correctly schedule a set of real-time tasks is that the total utilisation
>> + is smaller than M. When talking about -deadline tasks, this requires to
>> + impose that the sum of the ratio between runtime and period for all tasks
>> + is smaller than M.
>
> "This requires to impose that .." uhm, what? Drop 'to impose'.
Ok. I'll send an updated patch to Juri in few days
>> [...] Notice that the ratio runtime/period is equivalent to
>> + the utilisation of a "traditional" real-time task, and is also often
>> + referred to as "bandwidth".
>> + The interface used to control the CPU bandwidth that can be allocated
>> + to -deadline tasks is similar to the one already used for -rt
>> tasks with real-time group scheduling (a.k.a. RT-throttling - see
>> Documentation/scheduler/sched-rt-group.txt), and is based on readable/
>> writable control files located in procfs (for system wide settings).
>> @@ -232,8 +285,16 @@ CONTENTS
>> 950000. With rt_period equal to 1000000, by default, it means that -deadline
>> tasks can use at most 95%, multiplied by the number of CPUs that compose the
>> root_domain, for each root_domain.
>> -
>> - A -deadline task cannot fork.
>> + This means that non -deadline tasks will receive at least 5% of the CPU time,
>> + and that -deadline tasks will receive their runtime with a guaranteed
>> + worst-case delay respect to the "deadline" parameter. If "deadline" = "period"
>> + and the cpuset mechanism is used to implement partitioned scheduling (see
>> + Section 5), then this simple setting of the bandwidth management is able to
>> + deterministically guarantee that -deadline tasks will receive their runtime
>> + in a period.
>
> The whole 950000 / 1000000, is at least 50 *consecutive* ms given to non
> rt/dl tasks every second, or is this more finegrained now?
>
> If the 50ms can be given in a single go, then I don't think you can
> guarantee that deadline-tasks will receive their runtime in a period - a
> period can be <50ms, no?
Uhmm... Maybe there is something I am missing in how the SCHED_DEADLINE admission
control is implemented, but I do not know about any "50 consecutive ms to non dl
tasks" rule. I agree that if there is such a rule then deadline tasks are screwed.
Juri?
>> + Finally, notice that in order not to jeopardize this admission control a
>> + -deadline task cannot fork.
>
> s/this/the
> (there aren't any other admission controls in the kernel)
Ok; this will go in my updated patch
Thanks,
Luca
next prev parent reply other threads:[~2014-09-03 6:49 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-28 10:00 [PATCH v3 0/4] SCHED_DEADLINE documentation fixes and improvements Juri Lelli
2014-08-28 10:00 ` [PATCH v3 1/4] Documentation/scheduler/sched-deadline.txt: fix terminology and improve clarity Juri Lelli
2014-09-02 21:10 ` Henrik Austad
2014-09-03 6:43 ` Luca Abeni
[not found] ` <CAM6o_m19T7OV=4_5rh_m1XSZKQmpKD0TaSSkiOxthNLz7uJ8Gw@mail.gmail.com>
2014-09-03 8:27 ` Luca Abeni
2014-09-04 8:46 ` Juri Lelli
2014-08-28 10:00 ` [PATCH v3 2/4] Documentation/scheduler/sched-deadline.txt: Rewrite section 4 intro Juri Lelli
2014-09-02 21:14 ` Henrik Austad
2014-09-04 8:57 ` Juri Lelli
2014-08-28 10:00 ` [PATCH v3 3/4] Documentation/scheduler/sched-deadline.txt: improve and clarify AC bits Juri Lelli
2014-09-02 21:45 ` Henrik Austad
2014-09-03 6:49 ` Luca Abeni [this message]
[not found] ` <CAM6o_m3VXiJO3ED_Rb-_Kfaw7mFyw_s4W0quQ_hSbpxgA_foLA@mail.gmail.com>
2014-09-03 8:37 ` Luca Abeni
2014-09-03 9:18 ` Juri Lelli
2014-09-04 9:25 ` Juri Lelli
2014-08-28 10:00 ` [PATCH v3 4/4] Documentation/scheduler/sched-deadline.txt: add tests suite appendix Juri Lelli
2014-09-02 21:53 ` Henrik Austad
2014-09-04 10:15 ` Juri Lelli
2014-09-02 21:55 ` [PATCH v3 0/4] SCHED_DEADLINE documentation fixes and improvements Henrik Austad
2014-09-03 8:46 ` Ingo Molnar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5406BA02.20806@unitn.it \
--to=luca.abeni@unitn.it \
--cc=henrik@austad.us \
--cc=juri.lelli@arm.com \
--cc=juri.lelli@gmail.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=raistlin@linux.it \
--cc=rdunlap@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox