Messages in this thread | | | Date | Mon, 6 Jul 2015 13:44:30 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH] sched,fair: Remove > u32 weight handling for delta |
| |
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.
| |