• Thomas Richter's avatar
    perf test shell: Fix check open filename arg using 'perf trace' on s390x · ccafc38f
    Thomas Richter authored
    This 'perf test' case fails on s390x. The 'touch' command on s390x uses
    the 'openat' system call to open the file named on the command line:
    
    [root@s35lp76 perf]# perf probe -l
      probe:vfs_getname    (on getname_flags:72@fs/namei.c with pathname)
    [root@s35lp76 perf]# perf trace -e open touch /tmp/abc
         0.400 ( 0.015 ms): touch/27542 open(filename:
    		/usr/lib/locale/locale-archive, flags: CLOEXEC) = 3
    [root@s35lp76 perf]#
    
    There is no 'open' system call for file '/tmp/abc'. Instead the 'openat'
    system call is used:
    
    [root@s35lp76 perf]# strace touch /tmp/abc
        execve("/usr/bin/touch", ["touch", "/tmp/abc"], 0x3ffd547ec98
    			/* 30 vars */) = 0
        [...]
        openat(AT_FDCWD, "/tmp/abc", O_WRONLY|O_CREAT|O_NOCTTY|O_NONBLOCK, 0666) = 3
        [...]
    
    On s390x the 'egrep' command does not find a matching pattern and
    returns an error.
    
    Fix this for s390x create a platform dependent command line to enable
    the 'perf probe' call to listen to the 'openat' system call and get the
    expected output.
    Signed-off-by: default avatarThomas-Mich Richter <tmricht@linux.vnet.ibm.com>
    Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
    Cc: Thomas-Mich Richter <tmricht@linux.vnet.ibm.com>
    LPU-Reference: 20171114071847.2381-1-tmricht@linux.vnet.ibm.com
    Link: http://lkml.kernel.org/n/tip-3qf38jk0prz54rhmhyu871my@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    ccafc38f
trace+probe_vfs_getname.sh 1.09 KB