lkml.org 
[lkml]   [2006]   [Mar]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [2.6.16-mm1 patch] throttling tree patches
Date
On Friday 24 March 2006 22:03, Mike Galbraith wrote:
> Greetings,

/me waves

> Ignore timewarps caused by SMP timestamp rounding. Also, don't stamp a
> task with a computed timestamp, stamp with the already called clock.

Looks good. Actually now < p->timestamp is not going to only happen on SMP.
Once every I don't know how often the sched_clock seems to return a value
that appears to have been in the past (I believe Peter has instrumented
this).

> Signed-off-by: Mike Galbraith <efault@gmx.de>

> + __sleep_time = 0ULL;

I don't think the ULL is necessary.

> - unsigned long long now;
> + unsigned long long now, comp;
>
> - now = sched_clock();
> + now = comp = sched_clock();
> #ifdef CONFIG_SMP
> if (!local) {
> /* Compensate for drifting sched_clock */
> runqueue_t *this_rq = this_rq();
> - now = (now - this_rq->timestamp_last_tick)
> + comp = (now - this_rq->timestamp_last_tick)
> + rq->timestamp_last_tick;
> }
> #endif
>
> if (!rt_task(p))
> - p->prio = recalc_task_prio(p, now);
> + p->prio = recalc_task_prio(p, comp);

Seems wasteful of a very expensive (on 32bit) unsigned long long on
uniprocessor builds.

Cheers,
Con
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-03-24 12:40    [W:0.143 / U:0.028 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site