[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAPM31R+ZkKQn1Sej8Q1kvEuLhcp-bFn7CVTKQ2ZrxfXGjC-tjw@mail.gmail.com>
Date: Mon, 19 Dec 2016 15:32:15 -0800
From: Paul Turner <pjt@...nel.org>
To: Samuel Thibault <samuel.thibault@...-lyon.org>,
Paul Turner <pjt@...nel.org>,
LKML <linux-kernel@...r.kernel.org>,
Peter Zijlstra <peterz@...radead.org>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...nel.org>
Subject: Re: [PATCH] sched/fair: fix calc_cfs_shares fixed point arithmetics
On Mon, Dec 19, 2016 at 3:29 PM, Samuel Thibault
<samuel.thibault@...-lyon.org> wrote:
> Paul Turner, on Mon 19 Dec 2016 15:26:19 -0800, wrote:
>> >> > - if (shares < MIN_SHARES)
>> >> > - shares = MIN_SHARES;
>> > ...
>> >> > return shares;
>> >
>> > This will only make sure that the returned shares is 2, not 2048.
>>
>> This is intentional. The MIN_SHARES you are seeing here is overloaded.
>> Every "1" unit of share is "SCHED_LOAD_RESOLUTION" bits internally.
>
> I'm not talking about the SCHED_LOAD_RESOLUTION scaling, but about the
> SCHED_FIXEDPOINT_SHIFT scaling, which is what
> 2159197d6677 ("sched/core: Enable increased load resolution on 64-bit kernels")
> modified on 64bit platforms.
.... From that commit:
"""
-#if 0 /* BITS_PER_LONG > 32 -- currently broken: it increases power
usage under light load */
+#ifdef CONFIG_64BIT
# define SCHED_LOAD_RESOLUTION 10
# define scale_load(w) ((w) << SCHED_LOAD_RESOLUTION)
# define scale_load_down(w) ((w) >> SCHED_LOAD_RESOLUTION)
"""
Please take a deeper look at the scale_load() interactions.
Powered by blists - more mailing lists