Received: by 2002:a05:6a10:7420:0:0:0:0 with SMTP id hk32csp811379pxb; Thu, 17 Feb 2022 15:32:35 -0800 (PST) X-Google-Smtp-Source: ABdhPJz7Zt15tZG5ad6wuwRdvvnHuht2M8HrDrHqQnS4t+pUqRbJMePaHf3RSOAblBciDcKNfm5C X-Received: by 2002:a17:90b:181:b0:1b9:e1a6:d47b with SMTP id t1-20020a17090b018100b001b9e1a6d47bmr5390052pjs.148.1645140755202; Thu, 17 Feb 2022 15:32:35 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1645140755; cv=none; d=google.com; s=arc-20160816; b=Fs5gxa+0b7PQKn6I6QfR1n1B6rVCCx0cQb38enkMDrgeqErhXBheAGNR6SJfBpylzG nth3Sht86Of8HamGPLS43jg5VZSX/EtRNccclTQ7+ZtIJRur/BGpYp2BbcmAoOgqkmnv kTWwUs3PIUvxsyiAc6RdzPufWmP9srTyX7xpygy1ncOWB2ZqRf6xidJUSbuWZB5mcBKN dtz5y4gemp7w3KVQ62aHs5ppSD3rNwtZVFkE/+oxtg/lBrnoeg5GUoS/MBBOknEiyLXE ha6FThVsYnhgsxCx/MThKyLAfp9kNKNXlRDv5yZ9uXK3p4kFu8ZJoqvvH0jqlVk8JTK5 ZN5w== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=pcumJNf5Ae0cpSONOSikL4F3HHoR7gzQ3j0ko1H1EYA=; b=j6teWWkBnk9j0VkIDVPIIoqVrHxdBjGTt5ue72K0p9lofBSqT+E/3w/R14B3Pqhp86 SUkwnNm7G3kJWkByJkd75TNRBa9oJVAHFmYzzJ2digsrXvD8DcaqvcvFVs50lpj/Yaxf hlqdVmAWt4kerp9qnkRN4WqHtcqTMbXFCbsWZQqyu52BQH2fxedyIWdoXQeLs6KA7MH2 1mzNIP2K8BA3oHDopWyy87BdTvpchEvEUUuoD1cDjqyyVXhnDVKeknAoDwwPCNl11TlW GwH9zef/Xem8P8oU0uyqM5+M3nluJHlb5PtEtQz56VNPb4fhP1Q4UV20JRmuxNHT+22d FN7Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@bytedance-com.20210112.gappssmtp.com header.s=20210112 header.b=xLqXVTBf; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=bytedance.com Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id c11si261883pfv.132.2022.02.17.15.32.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 17 Feb 2022 15:32:35 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@bytedance-com.20210112.gappssmtp.com header.s=20210112 header.b=xLqXVTBf; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=bytedance.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id AA1002DCF94; Thu, 17 Feb 2022 15:12:51 -0800 (PST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242703AbiBQPou (ORCPT + 99 others); Thu, 17 Feb 2022 10:44:50 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:47132 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229721AbiBQPok (ORCPT ); Thu, 17 Feb 2022 10:44:40 -0500 Received: from mail-pl1-x62f.google.com (mail-pl1-x62f.google.com [IPv6:2607:f8b0:4864:20::62f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A3FDE2B2FCC for ; Thu, 17 Feb 2022 07:44:26 -0800 (PST) Received: by mail-pl1-x62f.google.com with SMTP id i10so4918971plr.2 for ; Thu, 17 Feb 2022 07:44:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance-com.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=pcumJNf5Ae0cpSONOSikL4F3HHoR7gzQ3j0ko1H1EYA=; b=xLqXVTBfwLXvvTwxShJClcJY4H8/n4Dqn/yUpBEFJAPWMFjImM+6x+J+4mkmQeqt+7 h7mp1wbiJl7SpeCswHgbeBkTtiao16nAFFdBKb5sYqs04D27N0wnSvqCG0lEnHW7qjMj qIkPaIxZS3cTaL+U8TlPKtfoz2N2mi0lc9u2iwfebOcTbK4n3nm+BiS3MwbkzQBEDPq/ AKTVSSXHd9HBZ1UXqLy4f1qs4y81wC/05kXptRdBgQuiorpMSunM6yBfu1TX1ue7uNJ2 MdwGaQ4ULsA4EciMsYHnUOYT6GlSXiELVdPGMaQQ7jgJJBXQe67mxgYdVscdCWnZ6JIq Zf+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=pcumJNf5Ae0cpSONOSikL4F3HHoR7gzQ3j0ko1H1EYA=; b=m6nSVJS26FCvOUS1eO+/XnYGW+8Qs0fJd2UnQGMpq6OZYcI3Cz+cK3tYIljVy57h59 Rkpkz5LPIyASfZ0HkZrP0s/YeDm6iO+n7dRNHPgsAutyQtK7AJaT5TMELdhKdUEkwbOI DtUFBgKGO4Qn65GRHhZqwc+7Gl630+4ikl4SO6BCZoACubO/SqvN7QwRIKIPdlYW+Jgs n3qa9xU2zbDc+Ff6t3XtObhgvTEamBSesuWtkR7chRkv5YfUe31LTH76rOVgC6leaJFi jq13ukpMSEi3bAhW0YgIxkV1K8pbVKFSz41HIc97jY6nM3BN11sCUJdNpK31eQkGsJR9 QOSg== X-Gm-Message-State: AOAM533o4xHFPBeO+yFVGZH7O34uVQ+q6p96b3fDa3jurm8EAGMNLAN6 83g9Jqhq7X0k8DuHUPNG3hpWAA== X-Received: by 2002:a17:903:110d:b0:14d:85b2:4b36 with SMTP id n13-20020a170903110d00b0014d85b24b36mr3327997plh.75.1645112666141; Thu, 17 Feb 2022 07:44:26 -0800 (PST) Received: from localhost.localdomain ([139.177.225.254]) by smtp.gmail.com with ESMTPSA id s6sm24108pfk.86.2022.02.17.07.44.20 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 17 Feb 2022 07:44:23 -0800 (PST) From: Abel Wu To: Ingo Molnar , Peter Zijlstra , Juri Lelli , Vincent Guittot , Dietmar Eggemann , Steven Rostedt , Ben Segall , Mel Gorman , Daniel Bristot de Oliveira Cc: linux-kernel@vger.kernel.org Subject: [RFC PATCH 3/5] sched/fair: add stats for sched-idle balancing Date: Thu, 17 Feb 2022 23:43:59 +0800 Message-Id: <20220217154403.6497-4-wuyun.abel@bytedance.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20220217154403.6497-1-wuyun.abel@bytedance.com> References: <20220217154403.6497-1-wuyun.abel@bytedance.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RDNS_NONE, SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org To better understand the behavior of sched-idle balancing, add some statistics like other load balancing mechanisms did. Signed-off-by: Abel Wu --- include/linux/sched/topology.h | 5 +++++ kernel/sched/fair.c | 6 +++++- kernel/sched/stats.c | 5 +++-- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/include/linux/sched/topology.h b/include/linux/sched/topology.h index 03c9c81dc886..4259963d3e5e 100644 --- a/include/linux/sched/topology.h +++ b/include/linux/sched/topology.h @@ -150,6 +150,11 @@ struct sched_domain { unsigned int ttwu_wake_remote; unsigned int ttwu_move_affine; unsigned int ttwu_move_balance; + + /* sched-idle balancing */ + unsigned int sib_peeked; + unsigned int sib_pulled; + unsigned int sib_failed; #endif #ifdef CONFIG_SCHED_DEBUG char *name; diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 070a6fb1d2bf..c83c0864e429 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -10330,8 +10330,10 @@ static void sched_idle_balance(struct rq *dst_rq) if (cpu == dst_cpu) continue; - if (!cfs_rq_overloaded(rq)) + if (!cfs_rq_overloaded(rq)) { + schedstat_inc(sd->sib_peeked); continue; + } rq_lock_irqsave(rq, &rf); @@ -10375,10 +10377,12 @@ static void sched_idle_balance(struct rq *dst_rq) if (p) { attach_one_task(dst_rq, p); local_irq_restore(rf.flags); + schedstat_inc(sd->sib_pulled); return; } local_irq_restore(rf.flags); + schedstat_inc(sd->sib_failed); } } diff --git a/kernel/sched/stats.c b/kernel/sched/stats.c index 07dde2928c79..3ee476c72806 100644 --- a/kernel/sched/stats.c +++ b/kernel/sched/stats.c @@ -164,12 +164,13 @@ static int show_schedstat(struct seq_file *seq, void *v) sd->lb_nobusyg[itype]); } seq_printf(seq, - " %u %u %u %u %u %u %u %u %u %u %u %u\n", + " %u %u %u %u %u %u %u %u %u %u %u %u %u %u %u\n", sd->alb_count, sd->alb_failed, sd->alb_pushed, sd->sbe_count, sd->sbe_balanced, sd->sbe_pushed, sd->sbf_count, sd->sbf_balanced, sd->sbf_pushed, sd->ttwu_wake_remote, sd->ttwu_move_affine, - sd->ttwu_move_balance); + sd->ttwu_move_balance, sd->sib_peeked, + sd->sib_pulled, sd->sib_failed); } rcu_read_unlock(); #endif -- 2.11.0