Re: [PATCH] sched/fair: cleanup, clamp values with macros clamp() and max().

From: Peter Zijlstra
Date: Fri May 16 2014 - 06:20:16 EST


On Fri, May 16, 2014 at 12:12:34PM +0900, Dongsheng Yang wrote:
> Rather than use "if" to check and clamp values to allowed minmum or maxmum,
> this patch use macros clamp() and max() to clean it up.
>
> Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx>
> ---
> kernel/sched/fair.c | 8 ++------
> 1 file changed, 2 insertions(+), 6 deletions(-)
>
> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
> index 7570dd9..939a7ab 100644
> --- a/kernel/sched/fair.c
> +++ b/kernel/sched/fair.c
> @@ -2041,10 +2041,7 @@ static long calc_cfs_shares(struct cfs_rq *cfs_rq, struct task_group *tg)
> if (tg_weight)
> shares /= tg_weight;
>
> - if (shares < MIN_SHARES)
> - shares = MIN_SHARES;
> - if (shares > tg->shares)
> - shares = tg->shares;
> + shares = clamp(shares, MIN_SHARES, tg->shares);
>
> return shares;
> }
> @@ -4133,8 +4130,7 @@ static long effective_load(struct task_group *tg, int cpu, long wl, long wg)
> * those are clipped to [MIN_SHARES, ...) do so now. See
> * calc_cfs_shares().
> */
> - if (wl < MIN_SHARES)
> - wl = MIN_SHARES;
> + wl = max(wl, MIN_SHARES);
>
> /*
> * wl = dw_i = S * (s'_i - s_i); see (3)

kernel/sched/fair.c: In function âcalc_cfs_sharesâ:
kernel/sched/fair.c:2068:11: warning: comparison of distinct pointer types lacks a cast [enabled by default]
kernel/sched/fair.c:2068:11: warning: comparison of distinct pointer types lacks a cast [enabled by default]
kernel/sched/fair.c: In function âeffective_loadâ:
kernel/sched/fair.c:4157:8: warning: comparison of distinct pointer types lacks a cast [enabled by default]
kernel/sched/fair.c: In function âmigrate_task_rq_fairâ:

Attachment: pgpgXo_gYLJ7z.pgp
Description: PGP signature