Received: by 2002:a25:e7d8:0:0:0:0:0 with SMTP id e207csp1612475ybh; Fri, 13 Mar 2020 04:25:33 -0700 (PDT) X-Google-Smtp-Source: ADFU+vsu9Dy+IQkA0MOB2ItxHclGPlBUcDONQRuvuNOYPqGnSatY63TtI1ymPMHDP31Zjx0LWcCL X-Received: by 2002:aca:5652:: with SMTP id k79mr5712157oib.15.1584098732995; Fri, 13 Mar 2020 04:25:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1584098732; cv=none; d=google.com; s=arc-20160816; b=yyn63vRGV9dg7/WcOVmASOoqDdaeZ7Xz88a1KLBzfkaFIMdsSvzl+TleTgGByrOawM r3zErF9vzB0fXBlS6PigjZ61/CijbA79Q5Qyf4eKmBh37+GKZl9FoMVvVsnPlTqLbKxt bWb7OdPxduhC0j3dSpkZ6GtPrj6d4O1ZyV+ukwv5VSMQIU8CuTQe3X9iDfKZj+SYzzAT 1II50lvjnN7hgPyso5ckPtNAN7JGSs5fP1cvJ7H53R6yUhhlcIB3vVZHUTliipawr+Mk oVh/CUd/CxlibqRJAY0HH9ph6V5fzShRic56DbQ5p/KccIO4amCLa+O1gppDCqbF/m+A gDMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=l6vwtcS1o8wVHnbXsbeZvZhN3RsKoWR7xyO93JYUPfQ=; b=BN9jPBiRBRQOIpFCmhd6744qOExHNEX2wi9ou8JUWXW7AgYN3Y6uG+bXGZVtpjZRFV KVhgQjiEIU1HjeYeC2FywnQIRhG6c35JjkFiXYU88JlMtLuI/MkRMWuRJZFr/uyaSWik pzVvtDGOPE4d+4ggKQr4YX6EhFTP3lWC63p7qrDX1HiulNhdlSQ+AUfJYyGtWoJCCCpV VPRQtygIB4nkSzN1jfNnGTJ1jggU7MRueD7C2n0w1Az4HL632L2mP+205l9uMeF/2nN6 qNJcQ+ouQY6c1vnE3zKqkT6I3x6/bB0TWDcRgw+fQSuar/uM/6nVclt2pDa0KUhUc4yq Kgvw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=l5spvTKF; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k15si2155154otn.6.2020.03.13.04.25.20; Fri, 13 Mar 2020 04:25:32 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=l5spvTKF; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726550AbgCMLYU (ORCPT + 99 others); Fri, 13 Mar 2020 07:24:20 -0400 Received: from mail-lf1-f65.google.com ([209.85.167.65]:40364 "EHLO mail-lf1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726365AbgCMLYU (ORCPT ); Fri, 13 Mar 2020 07:24:20 -0400 Received: by mail-lf1-f65.google.com with SMTP id j17so7524996lfe.7 for ; Fri, 13 Mar 2020 04:24:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=l6vwtcS1o8wVHnbXsbeZvZhN3RsKoWR7xyO93JYUPfQ=; b=l5spvTKFvur8vazMS4cstlevrMH0lLNnOOG4rR3Ff4yP6wftsR0CC6D48OSmjl6Jqi 6xWiKT34VQ61GfaL2oRGT8uGpo7IaawuRqiwbElRGQUkuLA8BEwvH3mCzKS1ipA1rDFq tn6WCO6mCqOQ6312RIvSca1AhejEwUqZ7fDE5FEyWT51q2nIZNfKWb4gBlg+lJuhfC9t tTsSz9tCPFvBEYHikrXq5QLgZBvdDBm1oHfuT6N95CxQdYbNo7wSMGcOnN9JFl9ZQBxB rSF07CJ2vW+1o8PV7km8p6OV9O+A6+UTWXEvUvHwY57fUwPDFOW5qKfAVzduihj7yBaz BUCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=l6vwtcS1o8wVHnbXsbeZvZhN3RsKoWR7xyO93JYUPfQ=; b=hFj2xk3JAh5Im6spGLMWrZjejq809znxJOsAVPUOp8zSFqBU3ci3+J4HBYnPWPPK66 XEBM5E31AsMJBthyMPY0M2iZySQUqAuonnCZfb3gstcLKX9BCCzcdGL2VM70Veo316sG aM0Mcaix6P1MCVCBig7qnLCQIL3kSMWI/vWupzcrySsaoALenwguwAmsQCm+D5Nlxgfb NxdU1CQDmnDLur/NnjnKYtl1UqmYJ8BZn1dQFuG4nMJYVJEtMYmHfMwoS1WzR95oqDFF IKcgcGSir1cF4NdnWB50QQ8LiuGwvnCgyPIKXvJQ7OpY1mgSIi5TvI7S7/C/y0aCboGY rBCQ== X-Gm-Message-State: ANhLgQ1jaG8DNPpgnhmB1hQUIGUykjVznbJIwRKJjqnMrsKI15qF+qGD Kbr5BFmRYODzvqy/KQJfP/v/nwdtj5wV7YE7hoVh1g== X-Received: by 2002:a19:4c08:: with SMTP id z8mr8096774lfa.95.1584098657653; Fri, 13 Mar 2020 04:24:17 -0700 (PDT) MIME-Version: 1.0 References: <20200312165429.990-1-vincent.guittot@linaro.org> In-Reply-To: From: Vincent Guittot Date: Fri, 13 Mar 2020 12:24:05 +0100 Message-ID: Subject: Re: [PATCH] sched/fair: improve spreading of utilization To: Valentin Schneider Cc: Ingo Molnar , Peter Zijlstra , Juri Lelli , Dietmar Eggemann , Steven Rostedt , Ben Segall , Mel Gorman , linux-kernel Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 13 Mar 2020 at 12:00, Valentin Schneider wrote: > > > On Thu, Mar 12 2020, Vincent Guittot wrote: > > kernel/sched/fair.c | 8 ++++++++ > > 1 file changed, 8 insertions(+) > > > > diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c > > index 3c8a379c357e..97a0307312d9 100644 > > --- a/kernel/sched/fair.c > > +++ b/kernel/sched/fair.c > > @@ -9025,6 +9025,14 @@ static struct rq *find_busiest_queue(struct lb_env *env, > > case migrate_util: > > util = cpu_util(cpu_of(rq)); > > > > + /* > > + * Don't try to pull utilization from a CPU with one > > + * running task. Whatever its utilization, we will fail > > + * detach the task. > > + */ > > + if (nr_running <= 1) > > + continue; > > + > > Doesn't this break misfit? If the busiest group is group_misfit_task, it > is totally valid for the runqueues to have a single running task - > that's the CPU-bound task we want to upmigrate. group_misfit_task has its dedicated migrate_misfit case > > If the busiest rq has only a single running task, we'll skip the > detach_tasks() block and go straight to the active balance bits. > Misfit balancing totally relies on this, and IMO ASYM_PACKING does > too. Looking at voluntary_active_balance(), it seems your change also > goes against the one added by > 1aaf90a4b88a ("sched: Move CFS tasks to CPUs with higher capacity") > > The bandaid here would be gate this 'continue' with checks against the > busiest_group_type, but that's only a loose link wrt > voluntary_active_balance(). > > > if (busiest_util < util) { > > busiest_util = util; > > busiest = rq;