All of lore.kernel.org
 help / color / mirror / Atom feed
From: Juri Lelli <juri.lelli@gmail.com>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: peterz@infradead.org, tglx@linutronix.de, mingo@redhat.com,
	cfriesen@nortel.com, oleg@redhat.com, fweisbec@gmail.com,
	darren@dvhart.com, johan.eker@ericsson.com, p.faure@akatech.ch,
	linux-kernel@vger.kernel.org, claudio@evidence.eu.com,
	michael@amarulasolutions.com, fchecconi@gmail.com,
	tommaso.cucinotta@sssup.it, nicola.manica@disi.unitn.it,
	luca.abeni@unitn.it, dhaval.giani@gmail.com, hgu1972@gmail.com,
	paulmck@linux.vnet.ibm.com, raistlin@linux.it,
	insop.song@ericsson.com, liming.wang@windriver.com
Subject: Re: [PATCH 08/16] sched: add period support for -deadline tasks.
Date: Wed, 11 Apr 2012 23:56:23 +0200	[thread overview]
Message-ID: <4F85FE07.2060605@gmail.com> (raw)
In-Reply-To: <1334176337.23924.297.camel@gandalf.stny.rr.com>

On 04/11/2012 10:32 PM, Steven Rostedt wrote:
> On Fri, 2012-04-06 at 09:14 +0200, Juri Lelli wrote:
>
>> @@ -293,7 +293,11 @@ static void replenish_dl_entity(struct sched_dl_entity *dl_se)
>>    * assigned (function returns true if it can).
>>    *
>>    * For this to hold, we must check if:
>> - *   runtime / (deadline - t)<  dl_runtime / dl_deadline .
>> + *   runtime / (deadline - t)<  dl_runtime / dl_period .
>> + *
>> + * Notice that the bandwidth check is done against the period. For
>> + * task with deadline equal to period this is the same of using
>> + * dl_deadline instead of dl_period in the equation above.
>
> First, it seems that the function returns true if:
>
> 	dl_runtime / dl_period<  runtime / (deadline - t)
>

Right, the comment is wrong! Just reverse the inequality as you did.
  
>
> I'm a little confused by this. We are comparing the ratio of runtime
> left and deadline left, to the ratio of total runtime to period.
>
> I'm actually confused by this premise anyway. What's the purpose of
> comparing the ratio? If runtime<  (deadline - t) wouldn't it not be able
> to complete anyway? Or are we thinking that the runtime will be
> interrupted proportionally by other tasks?
>

We are actually applying one of the CBS rules. We want to be able to
"slow down" a deadline task if it is going to exceed its reserved
bandwidth. We are in fact checking here that the bandwidth this task
will consume from t to its deadline is no more than its reserved one.

>
>
>>    */
>>   static bool dl_entity_overflow(struct sched_dl_entity *dl_se, u64 t)
>>   {
>> @@ -312,7 +316,7 @@ static bool dl_entity_overflow(struct sched_dl_entity *dl_se, u64 t)
>>   	 * to the (absolute) deadline. Therefore, overflowing the u64
>>   	 * type is very unlikely to occur in both cases.
>>   	 */
>> -	left = dl_se->dl_deadline * dl_se->runtime;
>> +	left = dl_se->dl_period * dl_se->runtime;
>>   	right = (dl_se->deadline - t) * dl_se->dl_runtime;
>>
>>   	return dl_time_before(right, left);
>
>

Thanks,

- Juri

  reply	other threads:[~2012-04-11 21:56 UTC|newest]

Thread overview: 130+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-06  7:14 [RFC][PATCH 00/16] sched: SCHED_DEADLINE v4 Juri Lelli
2012-04-06  7:14 ` [PATCH 01/16] sched: add sched_class->task_dead Juri Lelli
2012-04-08 17:49   ` Oleg Nesterov
2012-04-08 18:09     ` Juri Lelli
2012-04-06  7:14 ` [PATCH 02/16] sched: add extended scheduling interface Juri Lelli
2012-04-06  7:14 ` [PATCH 03/16] sched: SCHED_DEADLINE data structures Juri Lelli
2012-04-23  9:08   ` Peter Zijlstra
2012-04-23  9:47     ` Juri Lelli
2012-04-23  9:49       ` Peter Zijlstra
2012-04-23  9:55         ` Juri Lelli
2012-04-23 10:12           ` Peter Zijlstra
2012-04-23  9:13   ` Peter Zijlstra
2012-04-23  9:28     ` Juri Lelli
2012-04-23  9:30   ` Peter Zijlstra
2012-04-23  9:36     ` Juri Lelli
2012-04-23  9:39       ` Peter Zijlstra
2012-04-23  9:34   ` Peter Zijlstra
2012-04-23 10:16     ` Juri Lelli
2012-04-23 10:28       ` Peter Zijlstra
2012-04-23 10:33         ` Juri Lelli
2012-04-06  7:14 ` [PATCH 04/16] sched: SCHED_DEADLINE SMP-related " Juri Lelli
2012-04-06  7:14 ` [PATCH 05/16] sched: SCHED_DEADLINE policy implementation Juri Lelli
2012-04-11  3:06   ` Steven Rostedt
2012-04-11  6:54     ` Juri Lelli
2012-04-11 13:41   ` Steven Rostedt
2012-04-11 13:55     ` Juri Lelli
2012-04-23 10:15   ` Peter Zijlstra
2012-04-23 10:18     ` Juri Lelli
2012-04-23 10:31   ` Peter Zijlstra
2012-04-23 10:37     ` Juri Lelli
2012-04-23 21:25       ` Tommaso Cucinotta
2012-04-23 21:45         ` Peter Zijlstra
2012-04-23 23:25           ` Tommaso Cucinotta
2012-04-24  6:29             ` Dario Faggioli
2012-04-24  6:52               ` Juri Lelli
2012-04-23 11:32   ` Peter Zijlstra
2012-04-23 12:13     ` Juri Lelli
2012-04-23 12:22       ` Peter Zijlstra
2012-04-23 13:37         ` Juri Lelli
2012-04-23 14:01           ` Peter Zijlstra
2012-04-23 11:34   ` Peter Zijlstra
2012-04-23 11:57     ` Juri Lelli
2012-04-23 11:55   ` Peter Zijlstra
2012-04-23 14:43     ` Juri Lelli
2012-04-23 15:11       ` Peter Zijlstra
2012-04-23 21:55     ` Tommaso Cucinotta
2012-04-23 21:58       ` Peter Zijlstra
2012-04-23 23:21         ` Tommaso Cucinotta
2012-04-24  9:50           ` Peter Zijlstra
2012-04-24  1:03         ` Steven Rostedt
2012-04-23 14:11   ` Peter Zijlstra
2012-04-23 14:25   ` Peter Zijlstra
2012-04-23 15:34     ` Juri Lelli
2012-04-23 14:35   ` Peter Zijlstra
2012-04-23 15:39     ` Juri Lelli
2012-04-23 15:43       ` Peter Zijlstra
2012-04-23 16:41         ` Juri Lelli
     [not found]           ` <4F95D41F.5060700@sssup.it>
2012-04-24  7:21             ` Juri Lelli
2012-04-24  9:00               ` Peter Zijlstra
2012-05-15 10:10         ` Juri Lelli
2012-04-23 15:15   ` Peter Zijlstra
2012-04-23 15:37     ` Juri Lelli
2012-04-06  7:14 ` [PATCH 06/16] sched: SCHED_DEADLINE push and pull logic Juri Lelli
2012-04-06 13:39   ` Hillf Danton
2012-04-06 17:31     ` Juri Lelli
2012-04-07  2:32       ` Hillf Danton
2012-04-07  7:46         ` Dario Faggioli
2012-04-08 20:20         ` Juri Lelli
2012-04-09 12:28           ` Hillf Danton
2012-04-10  8:11             ` Juri Lelli
2012-04-11 15:57               ` Steven Rostedt
2012-04-11 16:00           ` Steven Rostedt
2012-04-11 16:09             ` Juri Lelli
2012-04-11 14:10     ` Steven Rostedt
2012-04-12 12:28       ` Hillf Danton
2012-04-12 12:51         ` Steven Rostedt
2012-04-12 12:56           ` Hillf Danton
2012-04-12 13:35             ` Steven Rostedt
2012-04-12 13:41               ` Hillf Danton
2012-04-11 16:07   ` Steven Rostedt
2012-04-11 16:11     ` Juri Lelli
2012-04-11 16:14   ` Steven Rostedt
2012-04-19 13:44     ` Juri Lelli
2012-04-11 16:21   ` Steven Rostedt
2012-04-11 16:24     ` Juri Lelli
2012-04-11 16:33   ` Steven Rostedt
2012-04-24 13:15     ` Peter Zijlstra
2012-04-24 18:50       ` Steven Rostedt
2012-04-24 18:53         ` Peter Zijlstra
2012-04-24 19:01           ` Steven Rostedt
2012-04-11 17:25   ` Steven Rostedt
2012-04-11 17:48     ` Juri Lelli
2012-04-06  7:14 ` [PATCH 07/16] sched: SCHED_DEADLINE avg_update accounting Juri Lelli
2012-04-06  7:14 ` [PATCH 08/16] sched: add period support for -deadline tasks Juri Lelli
2012-04-11 20:32   ` Steven Rostedt
2012-04-11 21:56     ` Juri Lelli [this message]
2012-04-11 22:13     ` Tommaso Cucinotta
2012-04-12  0:19       ` Steven Rostedt
2012-04-12  6:39     ` Luca Abeni
2012-04-06  7:14 ` [PATCH 09/16] sched: add schedstats " Juri Lelli
2012-04-06  7:14 ` [PATCH 10/16] sched: add resource limits " Juri Lelli
2012-04-24 15:07   ` Peter Zijlstra
2012-04-24 15:22     ` Juri Lelli
2012-04-24 16:27       ` Peter Zijlstra
2012-04-24 17:14         ` Juri Lelli
2012-04-06  7:14 ` [PATCH 11/16] sched: add latency tracing " Juri Lelli
2012-04-11 21:03   ` Steven Rostedt
2012-04-12  7:16     ` Juri Lelli
2012-04-16 15:51     ` Daniel Vacek
2012-04-16 19:56       ` Steven Rostedt
2012-04-16 21:31         ` Daniel Vacek
2012-04-06  7:14 ` [PATCH 12/16] rtmutex: turn the plist into an rb-tree Juri Lelli
2012-04-11 21:11   ` Steven Rostedt
2012-04-22 14:28     ` Juri Lelli
2012-04-23  8:33     ` Peter Zijlstra
2012-04-23 11:37       ` Steven Rostedt
2012-04-06  7:14 ` [PATCH 13/16] sched: drafted deadline inheritance logic Juri Lelli
2012-04-12  2:42   ` Steven Rostedt
2012-04-22 14:04     ` Juri Lelli
2012-04-23  8:39     ` Peter Zijlstra
2012-04-06  7:14 ` [PATCH 14/16] sched: add bandwidth management for sched_dl Juri Lelli
2012-04-06  7:14 ` [PATCH 15/16] sched: speed up -dl pushes with a push-heap Juri Lelli
2012-04-06  7:14 ` [PATCH 16/16] sched: add sched_dl documentation Juri Lelli
2012-04-06  8:25 ` [RFC][PATCH 00/16] sched: SCHED_DEADLINE v4 Luca Abeni
2012-04-07  9:25   ` Tadeus Prastowo
2012-04-06 11:07 ` Dario Faggioli
2012-04-07  7:52 ` Juri Lelli
2012-04-11 14:17 ` [RFC][PATCH 00/16] sched: " Steven Rostedt
2012-04-11 14:28   ` Juri Lelli
  -- strict thread matches above, loose matches on Subject: below --
2012-10-24 21:53 [RFC][PATCH 00/16] sched: SCHED_DEADLINE v6 Juri Lelli
2012-10-24 21:53 ` [PATCH 08/16] sched: add period support for -deadline tasks Juri Lelli

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=4F85FE07.2060605@gmail.com \
    --to=juri.lelli@gmail.com \
    --cc=cfriesen@nortel.com \
    --cc=claudio@evidence.eu.com \
    --cc=darren@dvhart.com \
    --cc=dhaval.giani@gmail.com \
    --cc=fchecconi@gmail.com \
    --cc=fweisbec@gmail.com \
    --cc=hgu1972@gmail.com \
    --cc=insop.song@ericsson.com \
    --cc=johan.eker@ericsson.com \
    --cc=liming.wang@windriver.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luca.abeni@unitn.it \
    --cc=michael@amarulasolutions.com \
    --cc=mingo@redhat.com \
    --cc=nicola.manica@disi.unitn.it \
    --cc=oleg@redhat.com \
    --cc=p.faure@akatech.ch \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=peterz@infradead.org \
    --cc=raistlin@linux.it \
    --cc=rostedt@goodmis.org \
    --cc=tglx@linutronix.de \
    --cc=tommaso.cucinotta@sssup.it \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.