Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp113930pxb; Wed, 20 Jan 2021 02:35:39 -0800 (PST) X-Google-Smtp-Source: ABdhPJzfS/zNPm+5hUygMQ0qNQDdpRyO9u+HfUFxBt+w3SSYkpJvvFajIC1M+CkR6nBrghsUPANU X-Received: by 2002:aa7:db49:: with SMTP id n9mr7037377edt.73.1611138848622; Wed, 20 Jan 2021 02:34:08 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1611138848; cv=none; d=google.com; s=arc-20160816; b=Sl9N9ElnHDsexuAFwxA/nNyDZFAL93oP+5wJCyCPQqWxG4fr4g87kEOH9O+6EA/lh6 U6Mbgqdgo5UrDgX+6CXzu0OgmJlg4ZOD45TWX4F8XLxbzn6zppwXiPgaNv9L8WVUnhBB 3MLDyfM8m9v/l0Ei+oH0kV76PVdabovPJpKgPbjGLEf5GkFU9yG8Kxshr/tRHvBcy0zW sJPfhYE0vqrif1RGnYBBdhs+KEausWHNAcw94MG1lH8H+qCslnag1nZFfOpPROTwCxtu MibIlb6nvH/p/NbCbmyG0cwProQQSQ7M0KmRCTtUYZm0hRPxk4HiQWy9tpc/VBAfabPY 9jDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:user-agent:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date; bh=z/B5A13s1zUDAiP2YD75+HrUJXztnDffzxPOdPIpSf4=; b=X72or8QYqAvFCy5kEt+l+fNg3OKd6xv1P2TFSUqGzXJyJLXE6OMoMvu6eOsczVxqSx B75IcAFzuWZJR7B0uhMqfFZ/LSaplc2kQPxdc1Vm6ZpGKBeATuTEEQ7Bd8z8poSTyBPa cZqp+QZ0VoBDBL4Fd5OdXVX2vPmo7FcqTxnkOqg2VDLNvpYSpa5W1ox2C5tptI/6R/IX JB5/5CrwQvm29kxoEIA5Lfm4jl3xkmCxDamAvyEUwxzh72MIcdXn1jdJ7lbjAVzxLHcH FDRvpn0ha/QFFr1p0r8tan1ZOF7Q5/JNmu2b9eCaY2DnXh7quonGFxXlEjhVTbq7ceBi qIUQ== 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id rp1si527318ejb.458.2021.01.20.02.33.45; Wed, 20 Jan 2021 02:34:08 -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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730602AbhATKNn (ORCPT + 99 others); Wed, 20 Jan 2021 05:13:43 -0500 Received: from outbound-smtp47.blacknight.com ([46.22.136.64]:56613 "EHLO outbound-smtp47.blacknight.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729712AbhATJNl (ORCPT ); Wed, 20 Jan 2021 04:13:41 -0500 Received: from mail.blacknight.com (pemlinmail06.blacknight.ie [81.17.255.152]) by outbound-smtp47.blacknight.com (Postfix) with ESMTPS id D928FFB0E0 for ; Wed, 20 Jan 2021 09:12:36 +0000 (GMT) Received: (qmail 17350 invoked from network); 20 Jan 2021 09:12:36 -0000 Received: from unknown (HELO techsingularity.net) (mgorman@techsingularity.net@[84.203.22.4]) by 81.17.254.9 with ESMTPSA (AES256-SHA encrypted, authenticated); 20 Jan 2021 09:12:36 -0000 Date: Wed, 20 Jan 2021 09:12:35 +0000 From: Mel Gorman To: Gautham R Shenoy Cc: Peter Zijlstra , Ingo Molnar , Vincent Guittot , Li Aubrey , Qais Yousef , LKML Subject: Re: [PATCH 5/5] sched/fair: Merge select_idle_core/cpu() Message-ID: <20210120091235.GT3592@techsingularity.net> References: <20210119112211.3196-1-mgorman@techsingularity.net> <20210119112211.3196-6-mgorman@techsingularity.net> <20210120083018.GA14462@in.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline In-Reply-To: <20210120083018.GA14462@in.ibm.com> User-Agent: Mutt/1.10.1 (2018-07-13) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Jan 20, 2021 at 02:00:18PM +0530, Gautham R Shenoy wrote: > > @@ -6157,18 +6169,31 @@ static int select_idle_cpu(struct task_struct *p, struct sched_domain *sd, int t > > } > > > > for_each_cpu_wrap(cpu, cpus, target) { > > - if (!--nr) > > - return -1; > > - if (available_idle_cpu(cpu) || sched_idle_cpu(cpu)) > > - break; > > + if (smt) { > > + i = select_idle_core(p, cpu, cpus, &idle_cpu); > > + if ((unsigned int)i < nr_cpumask_bits) > > + return i; > > + > > + } else { > > + if (!--nr) > > + return -1; > > + i = __select_idle_cpu(cpu); > > + if ((unsigned int)i < nr_cpumask_bits) { > > + idle_cpu = i; > > + break; > > + } > > + } > > } > > > > - if (sched_feat(SIS_PROP)) { > > + if (smt) > > + set_idle_cores(this, false); > > Shouldn't we set_idle_cores(false) only if this was the last idle > core in the LLC ? > That would involve rechecking the cpumask bits that have not been scanned to see if any of them are an idle core. As the existance of idle cores can change very rapidly, it's not worth the cost. -- Mel Gorman SUSE Labs