lkml.org 
[lkml]   [2012]   [Apr]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 05/16] sched: SCHED_DEADLINE policy implementation.
From
Date
On Mon, 2012-04-23 at 14:13 +0200, Juri Lelli wrote:
> On 04/23/2012 01:32 PM, Peter Zijlstra wrote:
> > On Fri, 2012-04-06 at 09:14 +0200, Juri Lelli wrote:
> >> + /*
> >> + * We Keep moving the deadline away until we get some
> >> + * available runtime for the entity. This ensures correct
> >> + * handling of situations where the runtime overrun is
> >> + * arbitrary large.
> >> + */
> >> + while (dl_se->runtime<= 0) {
> >> + dl_se->deadline += dl_se->dl_deadline;
> >> + dl_se->runtime += dl_se->dl_runtime;
> >> + }
> >
> > Does gcc 'optimize' that into a division? If so, it might need special
> > glue to make it not do that.
>
> I got two adds and a jle, no div here..

Gcc is known to change such loops to something like:

if (runtime <= 0) {
tmp = 1 - runtime / dl_runtime;
deadline += tmp * dl_deadline;
runtime += tmp * dl_runtime;
}




\
 
 \ /
  Last update: 2012-04-23 14:25    [W:0.217 / U:0.108 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site