From patchwork Mon Dec 19 18:31:08 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steven Rostedt X-Patchwork-Id: 34690 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:e747:0:0:0:0:0 with SMTP id c7csp2554419wrn; Mon, 19 Dec 2022 10:42:10 -0800 (PST) X-Google-Smtp-Source: AMrXdXvAwGnj/g4v79VQ3mdoR0NoGCs7TJawY3ybZIrG+RdBr4EFG6rpvCbSc9SFPcWmf1HokwOd X-Received: by 2002:aa7:d7d4:0:b0:46c:9a5d:239e with SMTP id e20-20020aa7d7d4000000b0046c9a5d239emr19513758eds.13.1671475329868; Mon, 19 Dec 2022 10:42:09 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1671475329; cv=none; d=google.com; s=arc-20160816; b=m0zhHxErzSA9Ry5dqELXGRLHffoHOvkGjoLr+/2+xXgakyyZBK+dsqvcVQX0wKPiaR jMmx3rTwNqQ9cvsJn1MMiWDsfu9pRxTjG3eOnIiSM/0Yd0dUSSUh7zT7EpaselnrYa9R XSge8Jdwa/nYoyOO9AWnhzaKlQRaSWPWp+Bq+nXaOYiP4APfZ87ZylhcykVD5FuJsuQp NpLoU8iNE/fQjZF9y52wgIGOgQOW8vU79C3nEUcOf+wdYPXp+qIGTkJLxrWqYaDxa2cL UrEKlm3aW/3CXnm4oH1LljLjRCi1ec7edpP1HvT5vTwNGxYMPvMMSAn8L6HkK+E10a+1 43wA== 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=Sn/OcFpxGNDXNl/pKTYnahkoq6uTxg/iAJOQaDNJ5jo=; b=c1pQMcnw4E3Z2OlIeRgmsUhZejx8V6Tr+83theBpIMADMQAcBAn6g/Hz6ojX3W5zIK KZlqIrWtezofDmPxjvUW0xgsAHvZcIt85JrkO1XU4z/Mvt9zoUinwSpdwZCpRWGqNP2b R2xfwt3OJnH5rtaMsIrnDB91e4CeSbY95guMdVDnoSZGwpaC0tOwjoWLLBbXJqZZ4OA7 Vcv1bFLt2CW5PqOYJ/QJCs8QEtdLY0hakDspSaxWQXuqtGSE7FkIjbNb6Num3hpYjaE9 2vd3qgBGVfIjRtb09Cm5UXQhPG8g8LWydw2AaxBZbKZKa44J9AD+v+3tkqeyo8Sy3jkn 7OaQ== 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 cy24-20020a0564021c9800b0046eff871046si8310243edb.367.2022.12.19.10.41.45; Mon, 19 Dec 2022 10:42:09 -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 S232348AbiLSSfU (ORCPT + 99 others); Mon, 19 Dec 2022 13:35:20 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45496 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232655AbiLSSe3 (ORCPT ); Mon, 19 Dec 2022 13:34:29 -0500 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A565213FAB; Mon, 19 Dec 2022 10:32:17 -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 60C1FB80F6F; Mon, 19 Dec 2022 18:32:16 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2CF6BC4339B; Mon, 19 Dec 2022 18:32:15 +0000 (UTC) Received: from rostedt by gandalf.local.home with local (Exim 4.96) (envelope-from ) id 1p7Kvu-0005TZ-0g; Mon, 19 Dec 2022 13:32:14 -0500 Message-ID: <20221219183214.075559302@goodmis.org> User-Agent: quilt/0.66 Date: Mon, 19 Dec 2022 13:31:08 -0500 From: Steven Rostedt To: linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org Cc: Masami Hiramatsu , Andrew Morton , Ross Zwisler , Tom Zanussi , Zheng Yejian , Shuah Khan , Shuah Khan , linux-kselftest@vger.kernel.org Subject: [PATCH 2/2] tracing/selftests: Add test for event filtering on function name References: <20221219183106.518341498@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?1752668915644634219?= X-GMAIL-MSGID: =?utf-8?q?1752668915644634219?= 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. Cc: Shuah Khan Cc: Shuah Khan Cc: linux-kselftest@vger.kernel.org Suggested-by: Masami Hiramatsu (Google) Signed-off-by: Steven Rostedt (Google) Reviewed-by: Ross Zwisler Acked-by: Shuah Khan --- .../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