Re: [PATCH] sched,fair: Remove > u32 weight handling for delta

From: Peter Zijlstra
Date: Mon Jul 06 2015 - 07:44:39 EST


On Mon, Jul 06, 2015 at 08:14:37AM +0530, Afzal Mohammed wrote:
> scaled down weight 'fact' would not be > u32 rather than unlikely as the
> values being passed for delta is either NICE_O_LOAD or the weight of the
> 'se' which would be a value that can be accomodated in a u32.

This needs a bit more on why se->load.weight must fit u32 (its true, but
not evident from this text).

> Remove the initial > u32 handling on 'fact'.
>
> 9dbdb15553239 ("sched/fair: Rework sched_fair time accounting") in
> addition to fixing the original issue of time moving backwards elsewhere
> in the code, handled delta > u32 case (due to NO_HZ_FULL) which brought
> in as it's part the change changed here.

Because the unsigned long weight is a u64 on 64bit..

Now as long as we never call __calc_delta() on a rq weight -- which is a
sum of weights and can indeed be larger than u32, we can indeed remove
this.

And I think we already assume such, see this story on why shift will
remain positive.

> The hunk being removed here
> would not make a difference to it as this is on scaled weight > u32.
> And pre-"9dbdb15553239" doesn't seem to have logical equivalent of hunk
> removed here either.

-ENOPARSE.
--
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/