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 <namhyung@xxxxxxxxxx> 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 > -- To unsubscribe from this list: send the line "unsubscribe linux-kselftest" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html