Message ID | 20200407063419.292821-1-yangx.jy@cn.fujitsu.com (mailing list archive) |
---|---|
State | Mainlined |
Commit | f0c0d0cf590f71b2213b29a7ded2cde3d0a1a0ba |
Headers | show |
Series | selftests/ftrace: Check the first record for kprobe_args_type.tc | expand |
On Tue, 7 Apr 2020 14:34:19 +0800 Xiao Yang <yangx.jy@cn.fujitsu.com> wrote: > It is possible to get multiple records from trace during test and then more > than 4 arguments are assigned to ARGS. This situation results in the failure > of kprobe_args_type.tc. For example: > ----------------------------------------------------------- > grep testprobe trace > ftracetest-5902 [001] d... 111195.682227: testprobe: (_do_fork+0x0/0x460) arg1=334823024 arg2=334823024 arg3=0x13f4fe70 arg4=7 > pmlogger-5949 [000] d... 111195.709898: testprobe: (_do_fork+0x0/0x460) arg1=345308784 arg2=345308784 arg3=0x1494fe70 arg4=7 > grep testprobe trace > sed -e 's/.* arg1=\(.*\) arg2=\(.*\) arg3=\(.*\) arg4=\(.*\)/\1 \2 \3 \4/' > ARGS='334823024 334823024 0x13f4fe70 7 > 345308784 345308784 0x1494fe70 7' > ----------------------------------------------------------- > > We don't care which process calls do_fork so just check the first record to > fix the issue. Looks good to me, but Masami will need to ack it. -- Steve > > Signed-off-by: Xiao Yang <yangx.jy@cn.fujitsu.com> > --- > .../testing/selftests/ftrace/test.d/kprobe/kprobe_args_type.tc | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_type.tc b/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_type.tc > index 1bcb67dcae26..81490ecaaa92 100644 > --- a/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_type.tc > +++ b/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_type.tc > @@ -38,7 +38,7 @@ for width in 64 32 16 8; do > echo 0 > events/kprobes/testprobe/enable > > : "Confirm the arguments is recorded in given types correctly" > - ARGS=`grep "testprobe" trace | sed -e 's/.* arg1=\(.*\) arg2=\(.*\) arg3=\(.*\) arg4=\(.*\)/\1 \2 \3 \4/'` > + ARGS=`grep "testprobe" trace | head -n 1 | sed -e 's/.* arg1=\(.*\) arg2=\(.*\) arg3=\(.*\) arg4=\(.*\)/\1 \2 \3 \4/'` > check_types $ARGS $width > > : "Clear event for next loop"
On Tue, 7 Apr 2020 09:54:00 -0400 Steven Rostedt <rostedt@goodmis.org> wrote: > On Tue, 7 Apr 2020 14:34:19 +0800 > Xiao Yang <yangx.jy@cn.fujitsu.com> wrote: > > > It is possible to get multiple records from trace during test and then more > > than 4 arguments are assigned to ARGS. This situation results in the failure > > of kprobe_args_type.tc. For example: > > ----------------------------------------------------------- > > grep testprobe trace > > ftracetest-5902 [001] d... 111195.682227: testprobe: (_do_fork+0x0/0x460) arg1=334823024 arg2=334823024 arg3=0x13f4fe70 arg4=7 > > pmlogger-5949 [000] d... 111195.709898: testprobe: (_do_fork+0x0/0x460) arg1=345308784 arg2=345308784 arg3=0x1494fe70 arg4=7 > > grep testprobe trace > > sed -e 's/.* arg1=\(.*\) arg2=\(.*\) arg3=\(.*\) arg4=\(.*\)/\1 \2 \3 \4/' > > ARGS='334823024 334823024 0x13f4fe70 7 > > 345308784 345308784 0x1494fe70 7' > > ----------------------------------------------------------- > > > > We don't care which process calls do_fork so just check the first record to > > fix the issue. > > Looks good to me, but Masami will need to ack it. > Ah, good catch! I had fixed similar issue but missed this one. Acked-by: Masami Hiramatsu <mhiramat@kernel.org> Thank you! > -- Steve > > > > > Signed-off-by: Xiao Yang <yangx.jy@cn.fujitsu.com> > > --- > > .../testing/selftests/ftrace/test.d/kprobe/kprobe_args_type.tc | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_type.tc b/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_type.tc > > index 1bcb67dcae26..81490ecaaa92 100644 > > --- a/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_type.tc > > +++ b/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_type.tc > > @@ -38,7 +38,7 @@ for width in 64 32 16 8; do > > echo 0 > events/kprobes/testprobe/enable > > > > : "Confirm the arguments is recorded in given types correctly" > > - ARGS=`grep "testprobe" trace | sed -e 's/.* arg1=\(.*\) arg2=\(.*\) arg3=\(.*\) arg4=\(.*\)/\1 \2 \3 \4/'` > > + ARGS=`grep "testprobe" trace | head -n 1 | sed -e 's/.* arg1=\(.*\) arg2=\(.*\) arg3=\(.*\) arg4=\(.*\)/\1 \2 \3 \4/'` > > check_types $ARGS $width > > > > : "Clear event for next loop" >
Hi Shuah, Sorry to bother you. Steven and Masami have reviewed this patch so can you apply it to your tree? Thanks, Xiao Yang On 2020/4/7 23:30, Masami Hiramatsu wrote: > On Tue, 7 Apr 2020 09:54:00 -0400 > Steven Rostedt<rostedt@goodmis.org> wrote: > >> On Tue, 7 Apr 2020 14:34:19 +0800 >> Xiao Yang<yangx.jy@cn.fujitsu.com> wrote: >> >>> It is possible to get multiple records from trace during test and then more >>> than 4 arguments are assigned to ARGS. This situation results in the failure >>> of kprobe_args_type.tc. For example: >>> ----------------------------------------------------------- >>> grep testprobe trace >>> ftracetest-5902 [001] d... 111195.682227: testprobe: (_do_fork+0x0/0x460) arg1=334823024 arg2=334823024 arg3=0x13f4fe70 arg4=7 >>> pmlogger-5949 [000] d... 111195.709898: testprobe: (_do_fork+0x0/0x460) arg1=345308784 arg2=345308784 arg3=0x1494fe70 arg4=7 >>> grep testprobe trace >>> sed -e 's/.* arg1=\(.*\) arg2=\(.*\) arg3=\(.*\) arg4=\(.*\)/\1 \2 \3 \4/' >>> ARGS='334823024 334823024 0x13f4fe70 7 >>> 345308784 345308784 0x1494fe70 7' >>> ----------------------------------------------------------- >>> >>> We don't care which process calls do_fork so just check the first record to >>> fix the issue. >> >> Looks good to me, but Masami will need to ack it. >> > > Ah, good catch! I had fixed similar issue but missed this one. > > Acked-by: Masami Hiramatsu<mhiramat@kernel.org> > > Thank you! > >> -- Steve >> >>> >>> Signed-off-by: Xiao Yang<yangx.jy@cn.fujitsu.com> >>> --- >>> .../testing/selftests/ftrace/test.d/kprobe/kprobe_args_type.tc | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_type.tc b/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_type.tc >>> index 1bcb67dcae26..81490ecaaa92 100644 >>> --- a/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_type.tc >>> +++ b/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_type.tc >>> @@ -38,7 +38,7 @@ for width in 64 32 16 8; do >>> echo 0> events/kprobes/testprobe/enable >>> >>> : "Confirm the arguments is recorded in given types correctly" >>> - ARGS=`grep "testprobe" trace | sed -e 's/.* arg1=\(.*\) arg2=\(.*\) arg3=\(.*\) arg4=\(.*\)/\1 \2 \3 \4/'` >>> + ARGS=`grep "testprobe" trace | head -n 1 | sed -e 's/.* arg1=\(.*\) arg2=\(.*\) arg3=\(.*\) arg4=\(.*\)/\1 \2 \3 \4/'` >>> check_types $ARGS $width >>> >>> : "Clear event for next loop" >> > >
Hi Shuah, Ping. Best Regards, Xiao Yang On 2020/4/15 9:19, Xiao Yang wrote: > Hi Shuah, > > Sorry to bother you. > Steven and Masami have reviewed this patch so can you apply it to your > tree? > > Thanks, > Xiao Yang > On 2020/4/7 23:30, Masami Hiramatsu wrote: >> On Tue, 7 Apr 2020 09:54:00 -0400 >> Steven Rostedt<rostedt@goodmis.org> wrote: >> >>> On Tue, 7 Apr 2020 14:34:19 +0800 >>> Xiao Yang<yangx.jy@cn.fujitsu.com> wrote: >>> >>>> It is possible to get multiple records from trace during test and >>>> then more >>>> than 4 arguments are assigned to ARGS. This situation results in the >>>> failure >>>> of kprobe_args_type.tc. For example: >>>> ----------------------------------------------------------- >>>> grep testprobe trace >>>> ftracetest-5902 [001] d... 111195.682227: testprobe: >>>> (_do_fork+0x0/0x460) arg1=334823024 arg2=334823024 arg3=0x13f4fe70 >>>> arg4=7 >>>> pmlogger-5949 [000] d... 111195.709898: testprobe: >>>> (_do_fork+0x0/0x460) arg1=345308784 arg2=345308784 arg3=0x1494fe70 >>>> arg4=7 >>>> grep testprobe trace >>>> sed -e 's/.* arg1=\(.*\) arg2=\(.*\) arg3=\(.*\) arg4=\(.*\)/\1 \2 >>>> \3 \4/' >>>> ARGS='334823024 334823024 0x13f4fe70 7 >>>> 345308784 345308784 0x1494fe70 7' >>>> ----------------------------------------------------------- >>>> >>>> We don't care which process calls do_fork so just check the first >>>> record to >>>> fix the issue. >>> >>> Looks good to me, but Masami will need to ack it. >>> >> >> Ah, good catch! I had fixed similar issue but missed this one. >> >> Acked-by: Masami Hiramatsu<mhiramat@kernel.org> >> >> Thank you! >> >>> -- Steve >>> >>>> >>>> Signed-off-by: Xiao Yang<yangx.jy@cn.fujitsu.com> >>>> --- >>>> .../testing/selftests/ftrace/test.d/kprobe/kprobe_args_type.tc | 2 +- >>>> 1 file changed, 1 insertion(+), 1 deletion(-) >>>> >>>> diff --git >>>> a/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_type.tc >>>> b/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_type.tc >>>> index 1bcb67dcae26..81490ecaaa92 100644 >>>> --- a/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_type.tc >>>> +++ b/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_type.tc >>>> @@ -38,7 +38,7 @@ for width in 64 32 16 8; do >>>> echo 0> events/kprobes/testprobe/enable >>>> >>>> : "Confirm the arguments is recorded in given types correctly" >>>> - ARGS=`grep "testprobe" trace | sed -e 's/.* arg1=\(.*\) >>>> arg2=\(.*\) arg3=\(.*\) arg4=\(.*\)/\1 \2 \3 \4/'` >>>> + ARGS=`grep "testprobe" trace | head -n 1 | sed -e 's/.* >>>> arg1=\(.*\) arg2=\(.*\) arg3=\(.*\) arg4=\(.*\)/\1 \2 \3 \4/'` >>>> check_types $ARGS $width >>>> >>>> : "Clear event for next loop" >>> >> >> >
On Fri, 24 Apr 2020 09:12:47 +0800 Xiao Yang <yangx.jy@cn.fujitsu.com> wrote: > Hi Shuah, > > Ping. Shuah usually responds to her linuxfoundation.org email a bit better [ added ]. -- Steve > > Best Regards, > Xiao Yang > On 2020/4/15 9:19, Xiao Yang wrote: > > Hi Shuah, > > > > Sorry to bother you. > > Steven and Masami have reviewed this patch so can you apply it to your > > tree? > > > > Thanks, > > Xiao Yang > > On 2020/4/7 23:30, Masami Hiramatsu wrote: > >> On Tue, 7 Apr 2020 09:54:00 -0400 > >> Steven Rostedt<rostedt@goodmis.org> wrote: > >> > >>> On Tue, 7 Apr 2020 14:34:19 +0800 > >>> Xiao Yang<yangx.jy@cn.fujitsu.com> wrote: > >>> > >>>> It is possible to get multiple records from trace during test and > >>>> then more > >>>> than 4 arguments are assigned to ARGS. This situation results in the > >>>> failure > >>>> of kprobe_args_type.tc. For example: > >>>> ----------------------------------------------------------- > >>>> grep testprobe trace > >>>> ftracetest-5902 [001] d... 111195.682227: testprobe: > >>>> (_do_fork+0x0/0x460) arg1=334823024 arg2=334823024 arg3=0x13f4fe70 > >>>> arg4=7 > >>>> pmlogger-5949 [000] d... 111195.709898: testprobe: > >>>> (_do_fork+0x0/0x460) arg1=345308784 arg2=345308784 arg3=0x1494fe70 > >>>> arg4=7 > >>>> grep testprobe trace > >>>> sed -e 's/.* arg1=\(.*\) arg2=\(.*\) arg3=\(.*\) arg4=\(.*\)/\1 \2 > >>>> \3 \4/' > >>>> ARGS='334823024 334823024 0x13f4fe70 7 > >>>> 345308784 345308784 0x1494fe70 7' > >>>> ----------------------------------------------------------- > >>>> > >>>> We don't care which process calls do_fork so just check the first > >>>> record to > >>>> fix the issue. > >>> > >>> Looks good to me, but Masami will need to ack it. > >>> > >> > >> Ah, good catch! I had fixed similar issue but missed this one. > >> > >> Acked-by: Masami Hiramatsu<mhiramat@kernel.org> > >> > >> Thank you! > >> > >>> -- Steve > >>> > >>>> > >>>> Signed-off-by: Xiao Yang<yangx.jy@cn.fujitsu.com> > >>>> --- > >>>> .../testing/selftests/ftrace/test.d/kprobe/kprobe_args_type.tc | 2 +- > >>>> 1 file changed, 1 insertion(+), 1 deletion(-) > >>>> > >>>> diff --git > >>>> a/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_type.tc > >>>> b/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_type.tc > >>>> index 1bcb67dcae26..81490ecaaa92 100644 > >>>> --- a/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_type.tc > >>>> +++ b/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_type.tc > >>>> @@ -38,7 +38,7 @@ for width in 64 32 16 8; do > >>>> echo 0> events/kprobes/testprobe/enable > >>>> > >>>> : "Confirm the arguments is recorded in given types correctly" > >>>> - ARGS=`grep "testprobe" trace | sed -e 's/.* arg1=\(.*\) > >>>> arg2=\(.*\) arg3=\(.*\) arg4=\(.*\)/\1 \2 \3 \4/'` > >>>> + ARGS=`grep "testprobe" trace | head -n 1 | sed -e 's/.* > >>>> arg1=\(.*\) arg2=\(.*\) arg3=\(.*\) arg4=\(.*\)/\1 \2 \3 \4/'` > >>>> check_types $ARGS $width > >>>> > >>>> : "Clear event for next loop" > >>> > >> > >> > > > >
On 2020/4/24 9:18, Steven Rostedt wrote: > On Fri, 24 Apr 2020 09:12:47 +0800 > Xiao Yang<yangx.jy@cn.fujitsu.com> wrote: > >> Hi Shuah, >> >> Ping. > > Shuah usually responds to her linuxfoundation.org email a bit better [ added ]. Hi Steve, Thanks for your reminder. Sorry for the wrong email(shuah@kernel.org). Thanks, Xiao Yang > > -- Steve > >> >> Best Regards, >> Xiao Yang >> On 2020/4/15 9:19, Xiao Yang wrote: >>> Hi Shuah, >>> >>> Sorry to bother you. >>> Steven and Masami have reviewed this patch so can you apply it to your >>> tree? >>> >>> Thanks, >>> Xiao Yang >>> On 2020/4/7 23:30, Masami Hiramatsu wrote: >>>> On Tue, 7 Apr 2020 09:54:00 -0400 >>>> Steven Rostedt<rostedt@goodmis.org> wrote: >>>> >>>>> On Tue, 7 Apr 2020 14:34:19 +0800 >>>>> Xiao Yang<yangx.jy@cn.fujitsu.com> wrote: >>>>> >>>>>> It is possible to get multiple records from trace during test and >>>>>> then more >>>>>> than 4 arguments are assigned to ARGS. This situation results in the >>>>>> failure >>>>>> of kprobe_args_type.tc. For example: >>>>>> ----------------------------------------------------------- >>>>>> grep testprobe trace >>>>>> ftracetest-5902 [001] d... 111195.682227: testprobe: >>>>>> (_do_fork+0x0/0x460) arg1=334823024 arg2=334823024 arg3=0x13f4fe70 >>>>>> arg4=7 >>>>>> pmlogger-5949 [000] d... 111195.709898: testprobe: >>>>>> (_do_fork+0x0/0x460) arg1=345308784 arg2=345308784 arg3=0x1494fe70 >>>>>> arg4=7 >>>>>> grep testprobe trace >>>>>> sed -e 's/.* arg1=\(.*\) arg2=\(.*\) arg3=\(.*\) arg4=\(.*\)/\1 \2 >>>>>> \3 \4/' >>>>>> ARGS='334823024 334823024 0x13f4fe70 7 >>>>>> 345308784 345308784 0x1494fe70 7' >>>>>> ----------------------------------------------------------- >>>>>> >>>>>> We don't care which process calls do_fork so just check the first >>>>>> record to >>>>>> fix the issue. >>>>> >>>>> Looks good to me, but Masami will need to ack it. >>>>> >>>> >>>> Ah, good catch! I had fixed similar issue but missed this one. >>>> >>>> Acked-by: Masami Hiramatsu<mhiramat@kernel.org> >>>> >>>> Thank you! >>>> >>>>> -- Steve >>>>> >>>>>> >>>>>> Signed-off-by: Xiao Yang<yangx.jy@cn.fujitsu.com> >>>>>> --- >>>>>> .../testing/selftests/ftrace/test.d/kprobe/kprobe_args_type.tc | 2 +- >>>>>> 1 file changed, 1 insertion(+), 1 deletion(-) >>>>>> >>>>>> diff --git >>>>>> a/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_type.tc >>>>>> b/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_type.tc >>>>>> index 1bcb67dcae26..81490ecaaa92 100644 >>>>>> --- a/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_type.tc >>>>>> +++ b/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_type.tc >>>>>> @@ -38,7 +38,7 @@ for width in 64 32 16 8; do >>>>>> echo 0> events/kprobes/testprobe/enable >>>>>> >>>>>> : "Confirm the arguments is recorded in given types correctly" >>>>>> - ARGS=`grep "testprobe" trace | sed -e 's/.* arg1=\(.*\) >>>>>> arg2=\(.*\) arg3=\(.*\) arg4=\(.*\)/\1 \2 \3 \4/'` >>>>>> + ARGS=`grep "testprobe" trace | head -n 1 | sed -e 's/.* >>>>>> arg1=\(.*\) arg2=\(.*\) arg3=\(.*\) arg4=\(.*\)/\1 \2 \3 \4/'` >>>>>> check_types $ARGS $width >>>>>> >>>>>> : "Clear event for next loop" >>>>> >>>> >>>> >>> >> >> > > > > . >
On 4/23/20 7:36 PM, Xiao Yang wrote: > On 2020/4/24 9:18, Steven Rostedt wrote: >> On Fri, 24 Apr 2020 09:12:47 +0800 >> Xiao Yang<yangx.jy@cn.fujitsu.com> wrote: >> >>> Hi Shuah, >>> >>> Ping. >> >> Shuah usually responds to her linuxfoundation.org email a bit better [ >> added ]. > Hi Steve, > > Thanks for your reminder. > Sorry for the wrong email(shuah@kernel.org). > Thanks for the ping. Will be applied shortly. thanks, -- Shuah
diff --git a/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_type.tc b/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_type.tc index 1bcb67dcae26..81490ecaaa92 100644 --- a/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_type.tc +++ b/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_type.tc @@ -38,7 +38,7 @@ for width in 64 32 16 8; do echo 0 > events/kprobes/testprobe/enable : "Confirm the arguments is recorded in given types correctly" - ARGS=`grep "testprobe" trace | sed -e 's/.* arg1=\(.*\) arg2=\(.*\) arg3=\(.*\) arg4=\(.*\)/\1 \2 \3 \4/'` + ARGS=`grep "testprobe" trace | head -n 1 | sed -e 's/.* arg1=\(.*\) arg2=\(.*\) arg3=\(.*\) arg4=\(.*\)/\1 \2 \3 \4/'` check_types $ARGS $width : "Clear event for next loop"
It is possible to get multiple records from trace during test and then more than 4 arguments are assigned to ARGS. This situation results in the failure of kprobe_args_type.tc. For example: ----------------------------------------------------------- grep testprobe trace ftracetest-5902 [001] d... 111195.682227: testprobe: (_do_fork+0x0/0x460) arg1=334823024 arg2=334823024 arg3=0x13f4fe70 arg4=7 pmlogger-5949 [000] d... 111195.709898: testprobe: (_do_fork+0x0/0x460) arg1=345308784 arg2=345308784 arg3=0x1494fe70 arg4=7 grep testprobe trace sed -e 's/.* arg1=\(.*\) arg2=\(.*\) arg3=\(.*\) arg4=\(.*\)/\1 \2 \3 \4/' ARGS='334823024 334823024 0x13f4fe70 7 345308784 345308784 0x1494fe70 7' ----------------------------------------------------------- We don't care which process calls do_fork so just check the first record to fix the issue. Signed-off-by: Xiao Yang <yangx.jy@cn.fujitsu.com> --- .../testing/selftests/ftrace/test.d/kprobe/kprobe_args_type.tc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)