Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp3720991ybb; Mon, 23 Mar 2020 06:31:24 -0700 (PDT) X-Google-Smtp-Source: ADFU+vuX1ac3bCT9OuWpTzrQ9+OKoKnIE61wauB/HL5GRurbR6p8++zZxhwQtHST2J+3jrStce8W X-Received: by 2002:a4a:b30b:: with SMTP id m11mr368555ooo.54.1584970284159; Mon, 23 Mar 2020 06:31:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1584970284; cv=none; d=google.com; s=arc-20160816; b=CvRL51Hsl+VCFPdC25Y/rj7k76Wk3zLV5U7OhS40GwYKvxQExIEgROTC3iz1DQqJvw Edxa6DB/5u3G8UfCevkRzYfHlfMiolSqW/KtiiymeFsX9jUwLAu0moCyAIALo6bIWc0h M3LWhalmgl3MlOjw0UMPDe4MAOrx5sIlqc1ao0X7Uu875TRVsHCGoWIxMYeH2XFl6DlP Gni/xK+lbIAg/GBh7Rp2TyyCG67jNz17DEIvucDsz9He0T90M+ZpigtbjcqS019noSjx 44O6K5uOMZiOsfuncpHVkvxV5qM+dBBGokngKnbJeHvZSBaOV/hln7qVwYak+751+FM6 TELw== 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=oOWiozrav80WPN6ofXJzpvpJgSyIncFPQ9pANCZXaQ4=; b=yLGGhn60aNnrjYZIykdqa/zG3yOEzQ4SKwURjynZvvIVrxfrMtqWMeAd8Li0Y6Z+dU Hr74zAuPFaZ1wTwTRnRsRCFOP5oFV8YjlhFw4Tp1NgeUA3iE1f25GaEmzaD63TDaYkdo nlFHHOP0GDqGUO1Ibxzvz4Oy2zzxXVUPVyerG7tw2MpDZE3VzXQd4LRA+JV+EIkAtykp XLE2wxFaWrKc38teYECSo5g5x2lOPm0AxAI51L/kdrD1hNr6Rl1OFjEDSr8gnkCeZ+pt IkSwrc1muUfOKxQhe3ULPKIrHFjpz6DezRirZnIEy9rnp7Y4O68MPHk1pBoK4b+wz45g MtYg== 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 b2si1571310otl.298.2020.03.23.06.31.10; Mon, 23 Mar 2020 06:31:24 -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 S1728478AbgCWNaT (ORCPT + 99 others); Mon, 23 Mar 2020 09:30:19 -0400 Received: from foss.arm.com ([217.140.110.172]:49042 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728355AbgCWNaT (ORCPT ); Mon, 23 Mar 2020 09:30:19 -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 E36881FB; Mon, 23 Mar 2020 06:30:18 -0700 (PDT) Received: from e113632-lin (e113632-lin.cambridge.arm.com [10.1.194.46]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 07D413F52E; Mon, 23 Mar 2020 06:30:17 -0700 (PDT) References: <20200320151245.21152-1-mgorman@techsingularity.net> <20200320151245.21152-2-mgorman@techsingularity.net> User-agent: mu4e 0.9.17; emacs 26.3 From: Valentin Schneider To: Mel Gorman Cc: Ingo Molnar , Peter Zijlstra , Vincent Guittot , Phil Auld , LKML Subject: Re: [PATCH 1/4] sched/fair: Track efficiency of select_idle_sibling In-reply-to: <20200320151245.21152-2-mgorman@techsingularity.net> Date: Mon, 23 Mar 2020 13:30:10 +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 Hi Mel, On Fri, Mar 20 2020, Mel Gorman wrote: > SIS Search: Number of calls to select_idle_sibling > > SIS Domain Search: Number of times the domain was searched because the > fast path failed. > > SIS Scanned: Generally the number of runqueues scanned but the fast > path counts as 1 regardless of the values for target, prev > and recent. > > SIS Domain Scanned: Number of runqueues scanned during a search of the > LLC domain. > > SIS Failures: Number of SIS calls that failed to find an idle CPU > Let me put my changelog pedant hat on; it would be nice to explicitely separate the 'raw' stats (i.e. those that you are adding to sis()) to the downstream ones. AIUI the ones above here are the 'raw' stats (except "SIS Domain Scanned", I'm not sure I get where this one comes from?), and the ones below are the downstream, post-processed ones. > SIS Search Efficiency: A ratio expressed as a percentage of runqueues > scanned versus idle CPUs found. A 100% efficiency indicates that > the target, prev or recent CPU of a task was idle at wakeup. The > lower the efficiency, the more runqueues were scanned before an > idle CPU was found. > > SIS Domain Search Efficiency: Similar, except only for the slower SIS > patch. > > SIS Fast Success Rate: Percentage of SIS that used target, prev or > recent CPUs. > > SIS Success rate: Percentage of scans that found an idle CPU. > > Signed-off-by: Mel Gorman With the nits taken into account: Reviewed-by: Valentin Schneider > --- > diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c > index 1dea8554ead0..9d32a81ece08 100644 > --- a/kernel/sched/fair.c > +++ b/kernel/sched/fair.c > @@ -6150,6 +6153,15 @@ static int select_idle_sibling(struct task_struct *p, int prev, int target) > struct sched_domain *sd; > int i, recent_used_cpu; > > + schedstat_inc(this_rq()->sis_search); > + > + /* > + * Checking if prev, target and recent is treated as one scan. A > + * perfect hit on one of those is considered 100% efficiency. > + * Further scanning impairs efficiency. > + */ > + schedstat_inc(this_rq()->sis_scanned); > + You may want to move that sis_scanned increment to below the 'symmetric' label. Also, you should instrument select_idle_capacity() with sis_scanned increments, if only for the sake of completeness. One last thing: each of the new schedstat_inc() callsites use this_rq(); IIRC because of the RELOC_HIDE() hiding underneath there's very little chance of the compiler caching this. However, this depends on schedstat, so I suppose that is fine. > /* > * For asymmetric CPU capacity systems, our domain of interest is > * sd_asym_cpucapacity rather than sd_llc.