From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753194AbcEJPYw (ORCPT ); Tue, 10 May 2016 11:24:52 -0400 Received: from lists.s-osg.org ([54.187.51.154]:40878 "EHLO lists.s-osg.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753065AbcEJPYu (ORCPT ); Tue, 10 May 2016 11:24:50 -0400 Subject: Re: [PATCH 2/2] kselftests/ftrace: Add a test case for event pid filtering To: Namhyung Kim , Steven Rostedt References: <1462891986-3608-1-git-send-email-namhyung@kernel.org> <1462891986-3608-2-git-send-email-namhyung@kernel.org> Cc: LKML , Masami Hiramatsu , linux-kselftest@vger.kernel.org From: Shuah Khan Message-ID: <5731FD38.3080203@osg.samsung.com> Date: Tue, 10 May 2016 09:24:40 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.7.2 MIME-Version: 1.0 In-Reply-To: <1462891986-3608-2-git-send-email-namhyung@kernel.org> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 05/10/2016 08:53 AM, Namhyung Kim wrote: > Check event is filtered by set_event_pid and options/event-fork. > > Signed-off-by: Namhyung Kim Looks good to me. Steve! Ack if you are good with this patch. I can get this into 4.8-rc1 thanks, -- Shuah > --- > .../selftests/ftrace/test.d/event/event-pid.tc | 72 ++++++++++++++++++++++ > 1 file changed, 72 insertions(+) > create mode 100644 tools/testing/selftests/ftrace/test.d/event/event-pid.tc > > diff --git a/tools/testing/selftests/ftrace/test.d/event/event-pid.tc b/tools/testing/selftests/ftrace/test.d/event/event-pid.tc > new file mode 100644 > index 000000000000..d4ab27b522f8 > --- /dev/null > +++ b/tools/testing/selftests/ftrace/test.d/event/event-pid.tc > @@ -0,0 +1,72 @@ > +#!/bin/sh > +# description: event tracing - restricts events based on pid > + > +do_reset() { > + echo > set_event > + echo > set_event_pid > + echo 0 > options/event-fork > + clear_trace > +} > + > +fail() { #msg > + do_reset > + echo $1 > + exit $FAIL > +} > + > +yield() { > + ping localhost -c 1 || sleep .001 || usleep 1 || sleep 1 > +} > + > +if [ ! -f set_event -o ! -d events/sched ]; then > + echo "event tracing is not supported" > + exit_unsupported > +fi > + > +if [ ! -f set_event_pid ]; then > + echo "event pid filtering is not supported" > + exit_unsupported > +fi > + > +reset_tracer > +do_reset > + > +echo 1 > events/sched/sched_switch/enable > + > +yield > + > +count=`cat trace | grep sched_switch | wc -l` > +if [ $count -eq 0 ]; then > + fail "sched_switch events are not recorded" > +fi > + > +do_reset > + > +read mypid rest < /proc/self/stat > + > +echo $mypid > set_event_pid > +echo 'sched:sched_switch' > set_event > + > +yield > + > +count=`cat trace | grep sched_switch | grep -v "pid=$mypid" | wc -l` > +if [ $count -ne 0 ]; then > + fail "sched_switch events from other task are recorded" > +fi > + > +do_reset > + > +echo $mypid > set_event_pid > +echo 1 > options/event-fork > +echo 1 > events/sched/sched_switch/enable > + > +yield > + > +count=`cat trace | grep sched_switch | grep -v "pid=$mypid" | wc -l` > +if [ $count -eq 0 ]; then > + fail "sched_switch events from other task are not recorded" > +fi > + > +do_reset > + > +exit 0 >