From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Paul Turner <pjt@kernel.org>
Cc: LKML <linux-kernel@vger.kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@kernel.org>
Subject: Re: [PATCH] sched/fair: fix calc_cfs_shares fixed point arithmetics
Date: Tue, 20 Dec 2016 00:07:13 +0100 [thread overview]
Message-ID: <20161219230713.GD2895@var.home> (raw)
In-Reply-To: <CAPM31RJOx-WsE9zRYRAkiNBN1rA4uXRSOwkWEPfyWtRCdFwdtQ@mail.gmail.com>
Paul Turner, on Mon 19 Dec 2016 14:44:38 -0800, wrote:
> On Mon, Dec 19, 2016 at 2:40 PM, Samuel Thibault
> <samuel.thibault@ens-lyon.org> wrote:
> > 2159197d6677 ("sched/core: Enable increased load resolution on 64-bit kernels")
> >
> > exposed yet another miscalculation in calc_cfs_shares: MIN_SHARES is unscaled,
> > and must thus be scaled before being manipulated against "shares" amounts.
>
> It's actually intentional that MIN_SHARES is un-scaled here, this is
> necessary to support the goal of sub-partitioning groups with small
> shares.
Uh? you mean it's normal that MIN_SHARES is here compared as such
against "shares" while e.g. in sched_group_set_shares or effective_load
it is scaled before comparing with "shares"?
> E.g. A group with shares=2 and 5 threads will internally provide 2048
> units of weight for the load-balancer to account for their
> distribution.
But here "shares" is already scaled, so
> > - if (shares < MIN_SHARES)
> > - shares = MIN_SHARES;
...
> > return shares;
This will only make sure that the returned shares is 2, not 2048.
Samuel
next prev parent reply other threads:[~2016-12-19 23:07 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-12-19 22:40 [PATCH] sched/fair: fix calc_cfs_shares fixed point arithmetics Samuel Thibault
2016-12-19 22:44 ` Paul Turner
2016-12-19 23:07 ` Samuel Thibault [this message]
2016-12-19 23:26 ` Paul Turner
2016-12-19 23:29 ` Samuel Thibault
2016-12-19 23:32 ` Paul Turner
2016-12-19 23:45 ` Samuel Thibault
2016-12-20 13:04 ` Dietmar Eggemann
2016-12-20 13:15 ` Peter Zijlstra
2017-01-11 11:29 ` Dietmar Eggemann
2017-01-14 12:48 ` [tip:sched/core] sched/fair: Explain why MIN_SHARES isn't scaled in calc_cfs_shares() tip-bot for Dietmar Eggemann
2016-12-20 13:22 ` [PATCH] sched/fair: fix calc_cfs_shares fixed point arithmetics Samuel Thibault
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20161219230713.GD2895@var.home \
--to=samuel.thibault@ens-lyon.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=pjt@kernel.org \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.