From patchwork Wed Mar 22 15:18:41 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lukasz Luba X-Patchwork-Id: 73507 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:604a:0:0:0:0:0 with SMTP id j10csp2409948wrt; Wed, 22 Mar 2023 08:41:52 -0700 (PDT) X-Google-Smtp-Source: AK7set/VaCLXZERR1RBhy7Drp2ygMbXXoW7x8NnyaJl1l4Jgt9NDjlPVCALqCcfXIpzVJhR3yk4y X-Received: by 2002:a17:906:ecb5:b0:929:d2f4:1824 with SMTP id qh21-20020a170906ecb500b00929d2f41824mr6215542ejb.21.1679499712132; Wed, 22 Mar 2023 08:41:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679499712; cv=none; d=google.com; s=arc-20160816; b=S2knWgnlgZtjT8azfZKv9r6T1EjxjG4CZBDiAtQy4BXOI6oZeRsevjg3PTTMMdRo6t tiYj7rmV2eMMY4cR5xlsTtwhGldVIaraANqfiNI9QI4O3nbCLfgBe43Lh4huJFroNnEX Fsgii5lQl6q2ewERyJpJNy4Ap8GTzAbpbJJqjMU1TATpq5MbS4CoPQv0rBmOZtYLfAwI qq3jLyDlj40qy5m+G+tk+TSv/czvAQYFXHk8LM+Sae44BybM2YYSKfIC8WuQBetAw0ZE mN8kSuw7cscRL8qlxvKxFdeFxfXTpg/CNjUQOfIbGGadv2Y1be1r5P2g8VriG7bO5KBB HiLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from; bh=M/zhULCHA1XSZ1Q171tTn9PBYyckisFrE89Od7KPEKY=; b=O7oPM3DmJnmft3eHDJ3qAbEaavYxkb5DDYf9G44bjoEcspo60hwcVYkxI8JltwWo0m uyoeIHxIAyeMI80QrWs+G7mT52PRU37gyIVWP7PmdDU4SjGTFS44cfbKJyv99zJYl3yy WCENirdSup+3X3mF1yst4A7paDfCsChctthMkkyk/PQJE4ttWuOPDNwIPUoi8dtyMorn Pc64heQm9RiBi5ZKZKyKHJULDLhfLPRm0jAnPDLXoDWLggrNsvM5ViJZ9Oh1ascqyrxy 0o40E46lqUNZUuTwst9djzMomwgSHDCKoxXyOt4/muI1gj/zWL1P8euTywLQYcrUZCCQ LiVQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id by8-20020a0564021b0800b004ad797532easi116011edb.34.2023.03.22.08.41.29; Wed, 22 Mar 2023 08:41:52 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231604AbjCVPUS (ORCPT + 99 others); Wed, 22 Mar 2023 11:20:18 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57098 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231538AbjCVPUP (ORCPT ); Wed, 22 Mar 2023 11:20:15 -0400 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id AA838591E0; Wed, 22 Mar 2023 08:20:14 -0700 (PDT) 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 755B4AD7; Wed, 22 Mar 2023 08:20:58 -0700 (PDT) Received: from e123648.arm.com (unknown [10.57.18.173]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id C8DC73F71E; Wed, 22 Mar 2023 08:20:11 -0700 (PDT) From: Lukasz Luba To: linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org Cc: rostedt@goodmis.org, mhiramat@kernel.org, mingo@redhat.com, peterz@infradead.org, juri.lelli@redhat.com, vincent.guittot@linaro.org, dietmar.eggemann@arm.com, bsegall@google.com, mgorman@suse.de, bristot@redhat.com, vschneid@redhat.com, delyank@fb.com, lukasz.luba@arm.com, qyousef@google.com Subject: [PATCH 1/3] sched/tp: Add new tracepoint to track uclamp set from user-space Date: Wed, 22 Mar 2023 15:18:41 +0000 Message-Id: <20230322151843.14390-2-lukasz.luba@arm.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230322151843.14390-1-lukasz.luba@arm.com> References: <20230322151843.14390-1-lukasz.luba@arm.com> X-Spam-Status: No, score=-2.3 required=5.0 tests=RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_NONE autolearn=unavailable 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1761083090384078603?= X-GMAIL-MSGID: =?utf-8?q?1761083090384078603?= The user-space can set uclamp value for a given task. It impacts task placement decisions made by the scheduler. This is very useful information and helps to understand the system behavior or track improvements in middleware and applications which start using uclamp mechanisms and report better performance in tests. Signed-off-by: Lukasz Luba --- include/trace/events/sched.h | 4 ++++ kernel/sched/core.c | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/include/trace/events/sched.h b/include/trace/events/sched.h index fbb99a61f714..dbfb30809f15 100644 --- a/include/trace/events/sched.h +++ b/include/trace/events/sched.h @@ -735,6 +735,10 @@ DECLARE_TRACE(sched_update_nr_running_tp, TP_PROTO(struct rq *rq, int change), TP_ARGS(rq, change)); +DECLARE_TRACE(uclamp_update_tsk_tp, + TP_PROTO(struct task_struct *tsk, int uclamp_id, unsigned int value), + TP_ARGS(tsk, uclamp_id, value)); + #endif /* _TRACE_SCHED_H */ /* This part must be outside protection */ diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 488655f2319f..882c92e3ccf0 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -110,6 +110,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(sched_overutilized_tp); EXPORT_TRACEPOINT_SYMBOL_GPL(sched_util_est_cfs_tp); EXPORT_TRACEPOINT_SYMBOL_GPL(sched_util_est_se_tp); EXPORT_TRACEPOINT_SYMBOL_GPL(sched_update_nr_running_tp); +EXPORT_TRACEPOINT_SYMBOL_GPL(uclamp_update_tsk_tp); DEFINE_PER_CPU_SHARED_ALIGNED(struct rq, runqueues); @@ -1936,12 +1937,16 @@ static void __setscheduler_uclamp(struct task_struct *p, attr->sched_util_min != -1) { uclamp_se_set(&p->uclamp_req[UCLAMP_MIN], attr->sched_util_min, true); + trace_uclamp_update_tsk_tp(p, UCLAMP_MIN, + attr->sched_util_min); } if (attr->sched_flags & SCHED_FLAG_UTIL_CLAMP_MAX && attr->sched_util_max != -1) { uclamp_se_set(&p->uclamp_req[UCLAMP_MAX], attr->sched_util_max, true); + trace_uclamp_update_tsk_tp(p, UCLAMP_MAX, + attr->sched_util_max); } } From patchwork Wed Mar 22 15:18:42 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lukasz Luba X-Patchwork-Id: 73508 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:604a:0:0:0:0:0 with SMTP id j10csp2410066wrt; Wed, 22 Mar 2023 08:42:03 -0700 (PDT) X-Google-Smtp-Source: AK7set90T3qVpqjXhW9T9B9U6c5QyvasHacLphCpbY9BO2dsI7pzItJ6XuEEDQR2AOj2ThLQRYVj X-Received: by 2002:a17:906:5a8f:b0:878:5372:a34b with SMTP id l15-20020a1709065a8f00b008785372a34bmr7333860ejq.45.1679499723081; Wed, 22 Mar 2023 08:42:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679499723; cv=none; d=google.com; s=arc-20160816; b=M6BiimjlZJ1MhbWL8N5m7LKcK/rdiEwghj+/7luVKiHlYDXm3mHMt3rtrUQced5mwM aVeERekmBYivRpky5bf6d4U/CwKGehLHqFuMwTMDwK5ZjHc+C6NHp9K7gZYdR8gBt0G9 k9mpSrZzs/+cBXv3uJn7rliMr0S92O1/Yr7xYOXMS6WMFJ9/VLaQeA5q7LFCEkEcgWvf EnqURy2PkDxU2pFlPiDrFPQL+2tZBvm8secIkF2pRK0aUkWb80HkY3mhxI/MAc0f2F2U zJwIpFybOLuH53RVEY6yzENsikHjbkCEoJrUf+g0qXR0LkFB8i65O4Ng+CD2g4bW03N+ XVqQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from; bh=fd+REC0vcyFBAtDImo5BKDP8+siqdj/oKjE92NmOqCg=; b=L2RL6v4rjf4v7fAjbMxYqQ9APnC3/o9JQCE+oaKdyDHzNDSfj89LofgJiV5zvAbILd 11EQ6MsmqQqEGD5zbG5P2B8tJK6WiJ73xQFwh9RmLpkON2Y7vVzsQtHOIFN9WNymgWwP sB5h86BpZWejxMLZ59zmebAcZdigAWaD9NLrECwylsd9tbp1/bw9r26kMEjkv8gksJwo seQOVe04phdoAqLsX4ARoBp9XoMLSXtpO9Fn8cpD6C20aUKO1kTpCab579gYRR4EDuxV z3088S770QwY0kS/SKP8IYb7nfgJR8y3CbwosO2oQIDiZyoQ4+ZIQ5nzQIKkgoMzjNk3 yNBA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id i25-20020aa7c719000000b005003eff3f7asi16510676edq.302.2023.03.22.08.41.39; Wed, 22 Mar 2023 08:42:03 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231617AbjCVPUV (ORCPT + 99 others); Wed, 22 Mar 2023 11:20:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57224 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231601AbjCVPUS (ORCPT ); Wed, 22 Mar 2023 11:20:18 -0400 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id B68445DC8B; Wed, 22 Mar 2023 08:20:17 -0700 (PDT) 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 6A60E15DB; Wed, 22 Mar 2023 08:21:01 -0700 (PDT) Received: from e123648.arm.com (unknown [10.57.18.173]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id BE2843F71E; Wed, 22 Mar 2023 08:20:14 -0700 (PDT) From: Lukasz Luba To: linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org Cc: rostedt@goodmis.org, mhiramat@kernel.org, mingo@redhat.com, peterz@infradead.org, juri.lelli@redhat.com, vincent.guittot@linaro.org, dietmar.eggemann@arm.com, bsegall@google.com, mgorman@suse.de, bristot@redhat.com, vschneid@redhat.com, delyank@fb.com, lukasz.luba@arm.com, qyousef@google.com Subject: [PATCH 2/3] cpufreq: schedutil: Refactor sugov_update_shared() internals Date: Wed, 22 Mar 2023 15:18:42 +0000 Message-Id: <20230322151843.14390-3-lukasz.luba@arm.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230322151843.14390-1-lukasz.luba@arm.com> References: <20230322151843.14390-1-lukasz.luba@arm.com> X-Spam-Status: No, score=-2.3 required=5.0 tests=RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_NONE autolearn=unavailable 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1761083101793777294?= X-GMAIL-MSGID: =?utf-8?q?1761083101793777294?= Remove the if section block. Use the simple check to bail out and jump to the unlock at the end. That makes the code more readable and ready for some future tracing. Signed-off-by: Lukasz Luba --- kernel/sched/cpufreq_schedutil.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/kernel/sched/cpufreq_schedutil.c b/kernel/sched/cpufreq_schedutil.c index e3211455b203..f462496e5c07 100644 --- a/kernel/sched/cpufreq_schedutil.c +++ b/kernel/sched/cpufreq_schedutil.c @@ -446,17 +446,19 @@ sugov_update_shared(struct update_util_data *hook, u64 time, unsigned int flags) ignore_dl_rate_limit(sg_cpu); - if (sugov_should_update_freq(sg_policy, time)) { - next_f = sugov_next_freq_shared(sg_cpu, time); + if (!sugov_should_update_freq(sg_policy, time)) + goto unlock; - if (!sugov_update_next_freq(sg_policy, time, next_f)) - goto unlock; + next_f = sugov_next_freq_shared(sg_cpu, time); + + if (!sugov_update_next_freq(sg_policy, time, next_f)) + goto unlock; + + if (sg_policy->policy->fast_switch_enabled) + cpufreq_driver_fast_switch(sg_policy->policy, next_f); + else + sugov_deferred_update(sg_policy); - if (sg_policy->policy->fast_switch_enabled) - cpufreq_driver_fast_switch(sg_policy->policy, next_f); - else - sugov_deferred_update(sg_policy); - } unlock: raw_spin_unlock(&sg_policy->update_lock); } From patchwork Wed Mar 22 15:18:43 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lukasz Luba X-Patchwork-Id: 73506 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:604a:0:0:0:0:0 with SMTP id j10csp2409191wrt; Wed, 22 Mar 2023 08:40:15 -0700 (PDT) X-Google-Smtp-Source: AK7set82eW0itIi7zhpZmWABcIvO6c7x/K6PFGR+9BPuLNuZYYxbPmS3FLYPex/yPZtv+vgMlpC2 X-Received: by 2002:aa7:cac1:0:b0:4fc:494a:98f5 with SMTP id l1-20020aa7cac1000000b004fc494a98f5mr7354916edt.29.1679499614924; Wed, 22 Mar 2023 08:40:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679499614; cv=none; d=google.com; s=arc-20160816; b=e9OLGkVgRuXQQGwz7ZxB/+phIqu0metXjeWg6C7XUBmssUf3JpTrnG6qFftsqOrNCT BqZjeP79BtPX9id7VAwVJUzaGC+8uIlbmJDWPupw+Pg8xqkNgKqzROUfILKTwkQObjK0 MbWkvKW3Jj8VR7PqnKmY8x5LSJ1INpeO7QoFqpElfSvCLys7/lKwjUJncjn5KPgW4hEp DOFY//csx1Jm7qAoFFQnKp7PKg9Mpy0zHSaPsRZ8pBa5TR4H2vtYy3VBGw5Lc9B85aPA uwjLenJk3mvejDJi+/0msM+jBOOoQ6IITEcojq3VSMwt8yiHBgssA3etGeJJ+X+YVEwC rt/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from; bh=gMa4KlEe8j/layTGD33sQhZ0VWZdr2+d0Oc9jRwTu7k=; b=lw8gdnok5O3aF5mVtkzYpNHrXrMxKQa0Ij0tCZIjspAzt/D6dXYn45BA6k8jGSmSlU FzJ29jNrYpdRupXKYLAdmU6XZP59pt6yj2Baf2/YnBprv2y+FUK20LK6f1hcLiTzCWB2 /sXz0nDQMUHyHZidebYXSXXglxQzobhZROhZ/bsf2B1MUU+oXsrXQFci0THiT0DnbH8v ow0+6VcXWyk5qr8xEzQsNTwrc1VY3lRZ4IHG3ahb+m+rpeZCuY6YO7VksJB19HB5/lG8 AJCiOB1S4QO1iAG92BUNpLLYohCPfo9CsD3fwKi3prgG7LcRe/9aXlYWOaaFE8qrsXis ZlAg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id y11-20020a50e60b000000b004ad035e01fdsi16217662edm.418.2023.03.22.08.39.51; Wed, 22 Mar 2023 08:40:14 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231661AbjCVPUa (ORCPT + 99 others); Wed, 22 Mar 2023 11:20:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57790 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231601AbjCVPU1 (ORCPT ); Wed, 22 Mar 2023 11:20:27 -0400 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 9743B5BDBC; Wed, 22 Mar 2023 08:20:20 -0700 (PDT) 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 5F1FD1650; Wed, 22 Mar 2023 08:21:04 -0700 (PDT) Received: from e123648.arm.com (unknown [10.57.18.173]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id B2F0A3F71E; Wed, 22 Mar 2023 08:20:17 -0700 (PDT) From: Lukasz Luba To: linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org Cc: rostedt@goodmis.org, mhiramat@kernel.org, mingo@redhat.com, peterz@infradead.org, juri.lelli@redhat.com, vincent.guittot@linaro.org, dietmar.eggemann@arm.com, bsegall@google.com, mgorman@suse.de, bristot@redhat.com, vschneid@redhat.com, delyank@fb.com, lukasz.luba@arm.com, qyousef@google.com Subject: [PATCH 3/3] schedutil: trace: Add tracing to capture filter out requests Date: Wed, 22 Mar 2023 15:18:43 +0000 Message-Id: <20230322151843.14390-4-lukasz.luba@arm.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230322151843.14390-1-lukasz.luba@arm.com> References: <20230322151843.14390-1-lukasz.luba@arm.com> X-Spam-Status: No, score=-2.3 required=5.0 tests=RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_NONE autolearn=unavailable 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1761082988183321650?= X-GMAIL-MSGID: =?utf-8?q?1761082988183321650?= Some of the frequency update requests coming form the task scheduler might be filter out. It can happen when the previous request was served not that long ago (in a period smaller than provided by the cpufreq driver as minimum for frequency update). In such case, we want to know if some of the frequency updates cannot make through. Export the new tracepoint as well. That would allow to handle it by a toolkit for trace analyzes. Signed-off-by: Lukasz Luba --- include/trace/events/schedutil.h | 17 +++++++++++++++++ kernel/sched/cpufreq_schedutil.c | 14 ++++++++++++-- 2 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 include/trace/events/schedutil.h diff --git a/include/trace/events/schedutil.h b/include/trace/events/schedutil.h new file mode 100644 index 000000000000..7f25122f7257 --- /dev/null +++ b/include/trace/events/schedutil.h @@ -0,0 +1,17 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#undef TRACE_SYSTEM +#define TRACE_SYSTEM schedutil + +#if !defined(_TRACE_SCHEDUTIL_H) || defined(TRACE_HEADER_MULTI_READ) +#define _TRACE_SCHEDUTIL_H + +#include + +DECLARE_TRACE(schedutil_update_filtered_tp, + TP_PROTO(int cpu), + TP_ARGS(cpu)); + +#endif /* _TRACE_SCHEDUTIL_H */ + +/* This part must be outside protection */ +#include diff --git a/kernel/sched/cpufreq_schedutil.c b/kernel/sched/cpufreq_schedutil.c index f462496e5c07..45c18559f3a8 100644 --- a/kernel/sched/cpufreq_schedutil.c +++ b/kernel/sched/cpufreq_schedutil.c @@ -6,6 +6,12 @@ * Author: Rafael J. Wysocki */ +#define CREATE_TRACE_POINTS +#include +#undef CREATE_TRACE_POINTS + +EXPORT_TRACEPOINT_SYMBOL_GPL(schedutil_update_filtered_tp); + #define IOWAIT_BOOST_MIN (SCHED_CAPACITY_SCALE / 8) struct sugov_tunables { @@ -318,8 +324,10 @@ static inline bool sugov_update_single_common(struct sugov_cpu *sg_cpu, ignore_dl_rate_limit(sg_cpu); - if (!sugov_should_update_freq(sg_cpu->sg_policy, time)) + if (!sugov_should_update_freq(sg_cpu->sg_policy, time)) { + trace_schedutil_update_filtered_tp(sg_cpu->cpu); return false; + } sugov_get_util(sg_cpu); sugov_iowait_apply(sg_cpu, time, max_cap); @@ -446,8 +454,10 @@ sugov_update_shared(struct update_util_data *hook, u64 time, unsigned int flags) ignore_dl_rate_limit(sg_cpu); - if (!sugov_should_update_freq(sg_policy, time)) + if (!sugov_should_update_freq(sg_policy, time)) { + trace_schedutil_update_filtered_tp(sg_cpu->cpu); goto unlock; + } next_f = sugov_next_freq_shared(sg_cpu, time);