lkml.org 
[lkml]   [2020]   [Sep]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[tip: sched/core] sched/fair: Reduce minimal imbalance threshold
    The following commit has been merged into the sched/core branch of tip:

    Commit-ID: 2208cdaa56c957e20d8e16f28819aeb47851cb1e
    Gitweb: https://git.kernel.org/tip/2208cdaa56c957e20d8e16f28819aeb47851cb1e
    Author: Vincent Guittot <vincent.guittot@linaro.org>
    AuthorDate: Mon, 21 Sep 2020 09:24:22 +02:00
    Committer: Peter Zijlstra <peterz@infradead.org>
    CommitterDate: Fri, 25 Sep 2020 14:23:26 +02:00

    sched/fair: Reduce minimal imbalance threshold

    The 25% default imbalance threshold for DIE and NUMA domain is large
    enough to generate significant unfairness between threads. A typical
    example is the case of 11 threads running on 2x4 CPUs. The imbalance of
    20% between the 2 groups of 4 cores is just low enough to not trigger
    the load balance between the 2 groups. We will have always the same 6
    threads on one group of 4 CPUs and the other 5 threads on the other
    group of CPUS. With a fair time sharing in each group, we ends up with
    +20% running time for the group of 5 threads.

    Consider decreasing the imbalance threshold for overloaded case where we
    use the load to balance task and to ensure fair time sharing.

    Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Reviewed-by: Phil Auld <pauld@redhat.com>
    Acked-by: Hillf Danton <hdanton@sina.com>
    Link: https://lkml.kernel.org/r/20200921072424.14813-3-vincent.guittot@linaro.org
    ---
    kernel/sched/topology.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c
    index 249bec7..41df628 100644
    --- a/kernel/sched/topology.c
    +++ b/kernel/sched/topology.c
    @@ -1349,7 +1349,7 @@ sd_init(struct sched_domain_topology_level *tl,
    .min_interval = sd_weight,
    .max_interval = 2*sd_weight,
    .busy_factor = 32,
    - .imbalance_pct = 125,
    + .imbalance_pct = 117,

    .cache_nice_tries = 0,

    \
     
     \ /
      Last update: 2020-09-29 09:57    [W:5.298 / U:0.368 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site