Re: [RFC PATCH 01/14] sched: track the runnable average on aper-task entitiy basis
From: Peter Zijlstra
Date: Wed Feb 15 2012 - 18:37:19 EST
On Wed, 2012-02-01 at 17:38 -0800, Paul Turner wrote:
> + /*
> + * Use 1024us as the unit of measurement since it's a reasonable
> + * approximation of 1ms and fast to compute.
> + */
> + delta >>= 10;
ns -> us ?, text talks about ms, slightly confusing
> + if (!delta)
> + return 0;
> + sa->last_runnable_update = now;
> +
> + delta_w = sa->runnable_avg_period % 1024;
so delta_w is the chunk of this p we already accounted.
> + if (delta + delta_w >= 1024) {
if delta pushes us over 1024*1024 ns (~1ms) we roll a window.
> + /* period roll-over */
> + decayed = 1;
> +
> + delta_w = 1024 - delta_w;
The distance we need to reach the next window.
> + BUG_ON(delta_w > delta);
somehow reading this code took forever, this suggests clarification,
either through better variable names or more comments. Could also mean
I'm a moron and should get more sleep or so :-)
--
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/