Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp1214973pxb; Thu, 28 Jan 2021 10:35:33 -0800 (PST) X-Google-Smtp-Source: ABdhPJxokVW6uiNGjDySNHZ4SbEVDfXkVGZPHa0t81E4YmN2cxxlYGOVrHoxpaxZLBB0/nV0BmX0 X-Received: by 2002:a05:6402:4316:: with SMTP id m22mr1087663edc.64.1611858933499; Thu, 28 Jan 2021 10:35:33 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1611858933; cv=none; d=google.com; s=arc-20160816; b=hZI65cBkiSetAnCkdMljh4KLdPTl7r+ThOd63tnf6N76lsbzZn8o73VLXcB39wwWE5 CA3qMI/xX66Fo/74zkwZZpf0uOZb5VNHLJ1bwmASHdJKgLIakadYM+SlSRKdtML0fGiX +rc+NMdG0G9ki9TY3uRni7v0oEjSVCs/HEDW6bP2Qo6qSlENfEUkn4+TtDOtYf2gB/BH A7ijti3PhoqIQ7PXLAW2pC8rwVDyNe0eAhrD8flxZYgJlmyFCrooUX8LgxLkSJpsiFv+ XbrCOiWd2HaoFgDQuiQwk2jpG4fmjWhuVDC2+sf2C/B29yeRSg9A88Rq7aLHz6pNgUTE FeQQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=XYdyTsXp2nmWfjXI8vRSkO4aK9SDWTq48r4hFfDQr/M=; b=eb9B5R+a9h/3MuCjEOaIhI50uP5LFCbMoJI6UIYx+gh36NKzPOfC8m0QnuNMaW5acj o2eIv9GgfhoQ6DR+pjxGg7WfukHQRDlLteyJHfXhnurdh5cRfmW/W7SQwQkhaaUqLBRA YBYP7c0ZG9QUGyAPv5w4HEQmLExlDcohUaFZFdw1skj3KsO6NM9lufZLRzv/wslwlXwn urm0CWLio4qT8iNyr6lvxrKjH6rR24HRbWJ3zwK15WDXa/41Oo4zQKTqn/D+0QxoXtuB L8KuTa1AIhv7cDJUDiUW3ZTwlFG9tr9dc+/J206g74qNGKGEzMB9hdyi5uTNlhtVo4Bz pLEQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id y18si3502810edv.524.2021.01.28.10.35.07; Thu, 28 Jan 2021 10:35:33 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231911AbhA1Sea (ORCPT + 99 others); Thu, 28 Jan 2021 13:34:30 -0500 Received: from foss.arm.com ([217.140.110.172]:37298 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231404AbhA1Scx (ORCPT ); Thu, 28 Jan 2021 13:32:53 -0500 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id CBF3B13A1; Thu, 28 Jan 2021 10:32:05 -0800 (PST) Received: from e113632-lin.cambridge.arm.com (e113632-lin.cambridge.arm.com [10.1.194.46]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 5DA783F719; Thu, 28 Jan 2021 10:32:04 -0800 (PST) From: Valentin Schneider To: linux-kernel@vger.kernel.org Cc: Peter Zijlstra , Ingo Molnar , Vincent Guittot , Dietmar Eggemann , Morten Rasmussen , Qais Yousef , Quentin Perret , Pavan Kondeti , Rik van Riel Subject: [PATCH 0/8] sched/fair: misfit task load-balance tweaks Date: Thu, 28 Jan 2021 18:31:33 +0000 Message-Id: <20210128183141.28097-1-valentin.schneider@arm.com> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi folks, Here is this year's series of misfit changes. On the menu: o Patch 1 is an independent active balance cleanup o Patch 2 adds some more sched_asym_cpucapacity static branches o Patch 3 introduces yet another margin for capacity to capacity comparisons o Patches 4-6 build on top of patch 3 and change capacity comparisons throughout misfit load balancing o Patches 7-8 fix some extra misfit issues I've been seeing on "real" workloads. IMO the somewhat controversial bit is patch 3, because it attempts to solve margin issues by... Adding another margin. This does solve issues on existing platforms (e.g. Pixel4), but we'll be back to square one the day some "clever" folks spin a platform with two different CPU capacities less than 5% apart. This is based on top of today's tip/sched/core at: 65bcf072e20e ("sched: Use task_current() instead of 'rq->curr == p'") Cheers, Valentin Valentin Schneider (8): sched/fair: Clean up active balance nr_balance_failed trickery sched/fair: Add more sched_asym_cpucapacity static branch checks sched/fair: Tweak misfit-related capacity checks sched/fair: Use dst_cpu's capacity rather than group {min, max} capacity sched/fair: Make check_misfit_status() only compare dynamic capacities sched/fair: Filter out locally-unsolvable misfit imbalances sched/fair: Attempt misfit active balance when migration_type != migrate_misfit sched/fair: Relax task_hot() for misfit tasks kernel/sched/fair.c | 138 ++++++++++++++++++++++++++----------------- kernel/sched/sched.h | 6 ++ 2 files changed, 89 insertions(+), 55 deletions(-) -- 2.27.0