Re: [RFC PATCH] sched: fix the nonsense shares when load of cfs_rq is too, small
From: Peter Zijlstra
Date: Wed Mar 04 2020 - 04:52:37 EST
On Wed, Mar 04, 2020 at 09:47:34AM +0100, Vincent Guittot wrote:
> you will add +1 of nice prio for each device
>
> should we use instead
> # define scale_load_down(w) ((w >> SCHED_FIXEDPOINT_SHIFT) ? (w >>
> SCHED_FIXEDPOINT_SHIFT) : MIN_SHARES)
That's '((w >> SHIFT) ?: MIN_SHARES)', but even that is not quite right.
I think we want something like:
#define scale_load_down(w) \
({ unsigned long ___w = (w); \
if (___w) \
____w = max(MIN_SHARES, ___w >> SHIFT); \
___w; })
That is, we very much want to retain 0 I'm thinking.