From patchwork Wed Jan 25 17:12:54 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steven Rostedt X-Patchwork-Id: 48229 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp387592wrn; Wed, 25 Jan 2023 09:14:55 -0800 (PST) X-Google-Smtp-Source: AMrXdXsgP1XW92KzlaN3NAE33OtdSR/QZiOF6PttdUAVvV4Upf6Zy87piizXMFhXdR1UYzpFJnrq X-Received: by 2002:a17:907:8a07:b0:7c1:5ee1:4c57 with SMTP id sc7-20020a1709078a0700b007c15ee14c57mr40065726ejc.8.1674666895058; Wed, 25 Jan 2023 09:14:55 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674666895; cv=none; d=google.com; s=arc-20160816; b=ZjcRQoLNDDmBBKYotPb1rhYQrEZbEDblnqnguuZlW1LYRED+kgdh574dqY0wnH6wW9 4ECf9K59zDp/6wM6HG6UjzKp0VRmcJlTNg0xRFMw35odJ26gWLFGtOKWyIDYoGD4al5x xJ5nqXlhn8mNmMu5zmPAfw15K6JzaXFP39h9eadpM4uricnOt7wtRlHbK12TjAy1Ejby JR9M2hiplAaRkq93Zm5b1EoaznUKzz0urzqGczGq+5feSou57G3uTBM2xec+ATvy3Umr Vg45ZXOop4d2Q95//nX7QaHUYsHhxLndGRoTOxGYs82jvNmtcHERNMd5d2cXfWiQES7/ eI6g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:subject:cc:to:from:date :user-agent:message-id; bh=Q37Q4NVRknkbxULZToIxRhPhdqLfE6kkiLBWl9KpXS4=; b=cqnmq6aJns7YqQ5W5XbVi3gOEgTPC40ddygyXZeOgSdn/DyRCeK1J3eml18qb4QNAD EhqKrheTQVFd4bkUaepF/puEUdSFoSs9BWay5xiLcjR+xHa01Qbtg6143YoHNesCc+Qj oQIThX0gz01NSchJA1GKQF8bw1SbqHgPCAqkhQHj7m9gboJ6c6tpPCAqq7h2i3tO/sYS vPM0V/nQ8G7obTa9Fim8cJVNk0TZ7XHJ5y08nWsmRcYK0Gdb1f6ftTLj6KPxIJ1K9Cl5 snpqiOpVtaVlEgdUw4seANFTJ2NtziVPryCcqVI4+whfhAYATmPb1ip5aH4zmWHjCfgM xGkw== 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id iy23-20020a170907819700b0087139670f26si6551905ejc.971.2023.01.25.09.14.30; Wed, 25 Jan 2023 09:14:55 -0800 (PST) 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236114AbjAYROF (ORCPT + 99 others); Wed, 25 Jan 2023 12:14:05 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38436 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235395AbjAYRNx (ORCPT ); Wed, 25 Jan 2023 12:13:53 -0500 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 74781A5C3; Wed, 25 Jan 2023 09:13:42 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 2DEBBB81B4A; Wed, 25 Jan 2023 17:13:41 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id D970EC433A0; Wed, 25 Jan 2023 17:13:39 +0000 (UTC) Received: from rostedt by gandalf.local.home with local (Exim 4.96) (envelope-from ) id 1pKjL8-004NqF-2j; Wed, 25 Jan 2023 12:13:38 -0500 Message-ID: <20230125171338.659803282@goodmis.org> User-Agent: quilt/0.66 Date: Wed, 25 Jan 2023 12:12:54 -0500 From: Steven Rostedt To: linux-kernel@vger.kernel.org Cc: Masami Hiramatsu , Andrew Morton , Tom Zanussi , Zheng Yejian , linux-kselftest@vger.kernel.org, Ross Zwisler , Shuah Khan Subject: [for-next][PATCH 02/12] tracing/selftests: Add test for event filtering on function name References: <20230125171252.431857411@goodmis.org> MIME-Version: 1.0 X-Spam-Status: No, score=-6.7 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,RCVD_IN_DNSWL_HI,SPF_HELO_NONE,SPF_PASS 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: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756015513958271342?= X-GMAIL-MSGID: =?utf-8?q?1756015513958271342?= From: "Steven Rostedt (Google)" With the new filter logic of passing in the name of a function to match an instruction pointer (or the address of the function), add a test to make sure that it is functional. This is also the first test to test plain filtering. The filtering has been tested via the trigger logic, which uses the same code, but there was nothing to test just the event filter, so this test is the first to add such a case. Link: https://lkml.kernel.org/r/20221219183214.075559302@goodmis.org Cc: Andrew Morton Cc: Tom Zanussi Cc: Zheng Yejian Cc: linux-kselftest@vger.kernel.org Suggested-by: Masami Hiramatsu (Google) Reviewed-by: Ross Zwisler Acked-by: Shuah Khan Signed-off-by: Steven Rostedt (Google) --- .../test.d/filter/event-filter-function.tc | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 tools/testing/selftests/ftrace/test.d/filter/event-filter-function.tc diff --git a/tools/testing/selftests/ftrace/test.d/filter/event-filter-function.tc b/tools/testing/selftests/ftrace/test.d/filter/event-filter-function.tc new file mode 100644 index 000000000000..e2ff3bf4df80 --- /dev/null +++ b/tools/testing/selftests/ftrace/test.d/filter/event-filter-function.tc @@ -0,0 +1,58 @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-2.0 +# description: event filter function - test event filtering on functions +# requires: set_event events/kmem/kmem_cache_free/filter +# flags: instance + +fail() { #msg + echo $1 + exit_fail +} + +echo "Test event filter function name" +echo 0 > tracing_on +echo 0 > events/enable +echo > trace +echo 'call_site.function == exit_mmap' > events/kmem/kmem_cache_free/filter +echo 1 > events/kmem/kmem_cache_free/enable +echo 1 > tracing_on +ls > /dev/null +echo 0 > events/kmem/kmem_cache_free/enable + +hitcnt=`grep kmem_cache_free trace| grep exit_mmap | wc -l` +misscnt=`grep kmem_cache_free trace| grep -v exit_mmap | wc -l` + +if [ $hitcnt -eq 0 ]; then + exit_fail +fi + +if [ $misscnt -gt 0 ]; then + exit_fail +fi + +address=`grep ' exit_mmap$' /proc/kallsyms | cut -d' ' -f1` + +echo "Test event filter function address" +echo 0 > tracing_on +echo 0 > events/enable +echo > trace +echo "call_site.function == 0x$address" > events/kmem/kmem_cache_free/filter +echo 1 > events/kmem/kmem_cache_free/enable +echo 1 > tracing_on +sleep 1 +echo 0 > events/kmem/kmem_cache_free/enable + +hitcnt=`grep kmem_cache_free trace| grep exit_mmap | wc -l` +misscnt=`grep kmem_cache_free trace| grep -v exit_mmap | wc -l` + +if [ $hitcnt -eq 0 ]; then + exit_fail +fi + +if [ $misscnt -gt 0 ]; then + exit_fail +fi + +reset_events_filter + +exit 0