Received: by 2002:a25:d783:0:0:0:0:0 with SMTP id o125csp576877ybg; Thu, 19 Mar 2020 05:08:39 -0700 (PDT) X-Google-Smtp-Source: ADFU+vv+le7zm7xf+kW1/aAS6kguU5XVpyAYH0oB8xtuiJk6Mg1K5hlMhZsAGwNbAxzHzqeAgkPo X-Received: by 2002:aca:c70f:: with SMTP id x15mr1996031oif.80.1584619719298; Thu, 19 Mar 2020 05:08:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1584619719; cv=none; d=google.com; s=arc-20160816; b=oni+gEHtQet4h0znSnp8npuDTy56ROqRGj/HN5ux6Pq3ojIycS1CxEApRI0Etd6xIz yqqsAwGroLvxxK3UVtOMjZY4t7ouZ2U18Bp56F49ZGRawvB6j/Lp3Uik5tKOGPqCxeh+ 1Ev8EhUvzgZJIXQzJ+PHvt5TzJcZuf7SeMIqQLr3ZMwW+ZzfzE/cvtK5K0zBBYBA5yj/ qla8zTs11kAT9aEk5Hf4Uq1/lE/tMhXbq1fCaYRPskl8jPpSBrBj/5qXBUtejQiMStlb 9xdzNn3fCfYiAUpi7/UKBpRGKbTDFfSK7TBr834FnusHxMKPrUgTo60c/+SNap9hlXVL dpGQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:message-id:date:in-reply-to :subject:cc:to:from:user-agent:references; bh=HclqlENaxcLroj7+yz9bSjJ7HBEtfq8tCI/9zxgt1O4=; b=ygsc+BIWWWpewWpE5ZBYdVIsBisymdve72vDZAfxm+KiBhG7etEOliT3ts4J/O/kfN cHyjS60gBUXun0TINS0RWxTjp6RDGShM7DMQfnXoGc63Aa6bptHa9KTJf+5EBFU4kGXh TtO++aQtGUHeTRfXNHnsA0gvhx3/OVGZahLHUdOTCkzlOMXBWPAJHbvE3mSHe/0QRku9 LtjsCobwFtmtwHvEpLRWrafzRHLoX8cpmpHo2R5MugVh7090CCSVjEP8shRzWaju/5U9 ANMxmnKJvvU+iq3yBZAz7QXn+Gf/TPbONIJVjwkybtZbcr9huZM/C+QO5EL6UMJmA/WT dFnw== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id z126si1057275oia.187.2020.03.19.05.08.13; Thu, 19 Mar 2020 05:08:39 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727027AbgCSMF4 (ORCPT + 99 others); Thu, 19 Mar 2020 08:05:56 -0400 Received: from foss.arm.com ([217.140.110.172]:34060 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725767AbgCSMFz (ORCPT ); Thu, 19 Mar 2020 08:05:55 -0400 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 3215231B; Thu, 19 Mar 2020 05:05:55 -0700 (PDT) Received: from e113632-lin (unknown [10.1.194.46]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 6843A3F305; Thu, 19 Mar 2020 05:05:54 -0700 (PDT) References: <20200311181601.18314-1-valentin.schneider@arm.com> <20200311181601.18314-4-valentin.schneider@arm.com> User-agent: mu4e 0.9.17; emacs 26.3 From: Valentin Schneider To: Dietmar Eggemann Cc: linux-kernel@vger.kernel.org, mingo@kernel.org, peterz@infradead.org, vincent.guittot@linaro.org Subject: Re: [PATCH v2 3/9] sched: Remove checks against SD_LOAD_BALANCE In-reply-to: Date: Thu, 19 Mar 2020 12:05:32 +0000 Message-ID: MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Mar 19 2020, Dietmar Eggemann wrote: > On 11.03.20 19:15, Valentin Schneider wrote: >> Potential users of that flag could have been cpusets and isolcpus. >> >> cpusets don't need it because they define exclusive (i.e. non-overlapping) >> domain spans, see cpuset.cpu_exclusive and cpuset.sched_load_balance. >> If such a cpuset contains a single CPU, it will have the NULL domain >> attached to it. If it contains several CPUs, none of their domains will >> extend beyond the span of the cpuset. > > There are also non-exclusive cpusets but I assume the statement is the same. > Right, AFAICT the cpuset.cpu_exclusive thing doesn't actually impact the sched_domains, only how CPUs can be allocated to cpusets. The important bits are: - the CPUs spanned by the cpuset - Whether we have cpuset.sched_load_balance > CPUs which are only used in cpusets with cpuset.sched_load_balance=0 are > attached to the NULL sched-domain. > Indeed, I was only considering the case with root.sched_load_balance=0 and the siblings would have cpuset.sched_load_balance=1, in which case we get separate root domains. If !root cpusets have sched_load_balance=0, related CPUs will only get the NULL domain attached to them. > There seems to be no code which alters the SD_LOAD_BALANCE flag. > The sysctl interface would've been the last possible modifier. Your comments make me realize that changelog isn't great, what about the following? --- The SD_LOAD_BALANCE flag is set unconditionally for all domains in sd_init(). By making the sched_domain->flags syctl interface read-only, we have removed the last piece of code that could clear that flag - as such, it will now be always present. Rather than to keep carrying it along, we can work towards getting rid of it entirely. cpusets don't need it because they can make CPUs be attached to the NULL domain (e.g. cpuset with sched_load_balance=0), or to a partitionned root_domain, i.e. a sched_domain hierarchy that doesn't span the entire system (e.g. root cpuset with sched_load_balance=0 and sibling cpusets with sched_load_balance=1). isolcpus apply the same "trick": isolated CPUs are explicitly taken out of the sched_domain rebuild (using housekeeping_cpumask()), so they get the NULL domain treatment as well. Remove the checks against SD_LOAD_BALANCE.