Re: [2.6.16-mm1 patch] throttling tree patches

From: Con Kolivas
Date: Fri Mar 24 2006 - 06:35:24 EST


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@xxxxxx>

> + __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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/