From patchwork Sat Aug 12 08:49:07 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yang Jihong X-Patchwork-Id: 134841 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b824:0:b0:3f2:4152:657d with SMTP id z4csp1602569vqi; Sat, 12 Aug 2023 02:01:38 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHIpsObIj92buFL65swYUe7MQ9yrd2ZElvPTzV8P4wBLamVOOp8sXBkNpe7WnYHVywgxFYb X-Received: by 2002:a17:906:5352:b0:99b:ce19:b697 with SMTP id j18-20020a170906535200b0099bce19b697mr3192141ejo.73.1691830897785; Sat, 12 Aug 2023 02:01:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691830897; cv=none; d=google.com; s=arc-20160816; b=rQxqEmmFU/sQ7hOLYYqnQu9l0kajLuiR3m1MH3Z6EaRyahAcOIKn4uJchcN0rpjJUK kqN5td3CPz9VbKFBho9Jpi6+5MSlhiCEq3PBtb/bEQNjQ/aLpQSA8zbzronaQs5h/Hxf mW7JKTQrIyzBp0u7kkjb7zUZe6CZDi1AyeSpCwcSOnuUH5KSTGzM/ZL7dcqlStZeLrnf R5AjYw7u+ATh71Q9GtNB/As/vz0iSayQPUjxv9excwOn2HyuDnYoE6/FG3LSAE+z0y4H nkF9XEG6OHlHvIKTx6yLnrSC21zRTMMZ+gc/BmtrZfg9FFgNr/s2kVUe1lSH0CFCfhAH /InQ== 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; bh=eVq6mIJORMU7lKNhIwABqacA+sXYEn5mK4EtYLw+/0c=; fh=yJzUIAXk3G9GFZhd7AEi53Yh6JaeRXiXWLsFmPRnLKo=; b=fvVxVp5cIoLjjz1HanrbBxEqhg6yHhoLOb6k8AwXHIu7aYgkQ11byeXlA0xQL18u8Y LtiHIbM/z8mxTioPVtMx7sVc5SLEjBtMnMjVbV5PItt+5qX1GopnSEdungOtsc1fHNUU AVra/BFBiRZnbAeaeyK0Y3eEuhi6NL1GRd+sAV9dwEwRdHxCv31g6lzG6oNbyWfcApDH wmjEWbDG73HfVMke5Fv7ststdYHjaqM2JQ4FristHqmfb1Um+kknMh+4WJ3saVoG03EX CsFhFrKyVFUFXBGbUbnslV/G7SkVDEw52ip1ATnZhYg1ES8whl3KsiNitxJZTixZTlai qv/w== 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id k21-20020a17090646d500b009931472bdb8si4440786ejs.965.2023.08.12.02.01.09; Sat, 12 Aug 2023 02:01:37 -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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236717AbjHLIwQ (ORCPT + 99 others); Sat, 12 Aug 2023 04:52:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38358 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235796AbjHLIwD (ORCPT ); Sat, 12 Aug 2023 04:52:03 -0400 Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BAFF42D52; Sat, 12 Aug 2023 01:52:06 -0700 (PDT) Received: from kwepemm600003.china.huawei.com (unknown [172.30.72.57]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4RNDrF20D9zTlp3; Sat, 12 Aug 2023 16:50:05 +0800 (CST) Received: from localhost.localdomain (10.67.174.95) by kwepemm600003.china.huawei.com (7.193.23.202) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Sat, 12 Aug 2023 16:52:04 +0800 From: Yang Jihong To: , , , , , , , , , , , , , CC: Subject: [RFC v1 06/16] perf kwork: Set default events list if not specified in setup_event_list() Date: Sat, 12 Aug 2023 08:49:07 +0000 Message-ID: <20230812084917.169338-7-yangjihong1@huawei.com> X-Mailer: git-send-email 2.30.GIT In-Reply-To: <20230812084917.169338-1-yangjihong1@huawei.com> References: <20230812084917.169338-1-yangjihong1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.67.174.95] X-ClientProxiedBy: dggems706-chm.china.huawei.com (10.3.19.183) To kwepemm600003.china.huawei.com (7.193.23.202) X-CFilter-Loop: Reflected X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=ham 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: INBOX X-GMAIL-THRID: 1774013275625797309 X-GMAIL-MSGID: 1774013275625797309 Currently when no kwork event is specified, all events are configured by default. Now set to default event list string, which is more flexible and supports subsequent function extension. Also put setup_event_list() into each subcommand for different settings. Signed-off-by: Yang Jihong --- tools/perf/builtin-kwork.c | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/tools/perf/builtin-kwork.c b/tools/perf/builtin-kwork.c index f620911a26a2..e859c34b23f3 100644 --- a/tools/perf/builtin-kwork.c +++ b/tools/perf/builtin-kwork.c @@ -1623,8 +1623,11 @@ static void setup_event_list(struct perf_kwork *kwork, struct kwork_class *class; char *tmp, *tok, *str; + /* + * set default events list if not specified + */ if (kwork->event_list_str == NULL) - goto null_event_list_str; + kwork->event_list_str = "irq, softirq, workqueue"; str = strdup(kwork->event_list_str); for (tok = strtok_r(str, ", ", &tmp); @@ -1643,17 +1646,6 @@ static void setup_event_list(struct perf_kwork *kwork, } free(str); -null_event_list_str: - /* - * config all kwork events if not specified - */ - if (list_empty(&kwork->class_list)) { - for (i = 0; i < KWORK_CLASS_MAX; i++) { - list_add_tail(&kwork_class_supported_list[i]->list, - &kwork->class_list); - } - } - pr_debug("Config event list:"); list_for_each_entry(class, &kwork->class_list, list) pr_debug(" %s", class->name); @@ -1835,12 +1827,12 @@ int cmd_kwork(int argc, const char **argv) if (!argc) usage_with_options(kwork_usage, kwork_options); - setup_event_list(&kwork, kwork_options, kwork_usage); sort_dimension__add(&kwork, "id", &kwork.cmp_id); - if (strlen(argv[0]) > 2 && strstarts("record", argv[0])) + if (strlen(argv[0]) > 2 && strstarts("record", argv[0])) { + setup_event_list(&kwork, kwork_options, kwork_usage); return perf_kwork__record(&kwork, argc, argv); - else if (strlen(argv[0]) > 2 && strstarts("report", argv[0])) { + } else if (strlen(argv[0]) > 2 && strstarts("report", argv[0])) { kwork.sort_order = default_report_sort_order; if (argc > 1) { argc = parse_options(argc, argv, report_options, report_usage, 0); @@ -1849,6 +1841,7 @@ int cmd_kwork(int argc, const char **argv) } kwork.report = KWORK_REPORT_RUNTIME; setup_sorting(&kwork, report_options, report_usage); + setup_event_list(&kwork, kwork_options, kwork_usage); return perf_kwork__report(&kwork); } else if (strlen(argv[0]) > 2 && strstarts("latency", argv[0])) { kwork.sort_order = default_latency_sort_order; @@ -1859,6 +1852,7 @@ int cmd_kwork(int argc, const char **argv) } kwork.report = KWORK_REPORT_LATENCY; setup_sorting(&kwork, latency_options, latency_usage); + setup_event_list(&kwork, kwork_options, kwork_usage); return perf_kwork__report(&kwork); } else if (strlen(argv[0]) > 2 && strstarts("timehist", argv[0])) { if (argc > 1) { @@ -1867,6 +1861,7 @@ int cmd_kwork(int argc, const char **argv) usage_with_options(timehist_usage, timehist_options); } kwork.report = KWORK_REPORT_TIMEHIST; + setup_event_list(&kwork, kwork_options, kwork_usage); return perf_kwork__timehist(&kwork); } else usage_with_options(kwork_usage, kwork_options);