Skip to content
Snippets Groups Projects
  1. Jul 12, 2018
  2. Jul 11, 2018
    • Jeremy Cline's avatar
      perf tools: Use python-config --includes rather than --cflags · 32aa928a
      Jeremy Cline authored
      
      Builds started failing in Fedora on Python 3.7 with:
      
          `.gnu.debuglto_.debug_macro' referenced in section
          `.gnu.debuglto_.debug_macro' of
          util/scripting-engines/trace-event-python.o: defined in discarded
          section
      
      In Fedora, Python 3.7 added -flto to the list of --cflags and since it
      was only applied to util/scripting-engines/trace-event-python.c and
      scripts/python/Perf-Trace-Util/Context.c, linking failed.
      
      It's not the first time the addition of flags has broken builds: commit
      c6707fde ("perf tools: Fix up build in hardnened environments")
      appears to have fixed a similar problem. "python-config --includes"
      provides the proper -I flags and doesn't introduce additional CFLAGS.
      
      Signed-off-by: default avatarJeremy Cline <jcline@redhat.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/20180710154612.6285-1-jcline@redhat.com
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      32aa928a
    • Janne Huttunen's avatar
      perf script python: Fix dict reference counting · db0ba84c
      Janne Huttunen authored
      
      The dictionaries are attached to the parameter tuple that steals the
      references and takes care of releasing them when appropriate.  The code
      should not decrement the reference counts explicitly.  E.g. if libpython
      has been built with reference debugging enabled, the superfluous DECREFs
      will trigger this error when running perf script:
      
        Fatal Python error: Objects/tupleobject.c:238 object at
        0x7f10f2041b40 has negative ref count -1
        Aborted (core dumped)
      
      If the reference debugging is not enabled, the superfluous DECREFs might
      cause the dict objects to be silently released while they are still in
      use. This may trigger various other assertions or just cause perf
      crashes and/or weird and unexpected data changes in the stored Python
      objects.
      
      Signed-off-by: default avatarJanne Huttunen <janne.huttunen@nokia.com>
      Acked-by: default avatarJiri Olsa <jolsa@kernel.org>
      Acked-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Jaroslav Skarvada <jskarvad@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/1531133990-17485-1-git-send-email-janne.huttunen@nokia.com
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      db0ba84c
    • Jiri Olsa's avatar
      perf stat: Fix --interval_clear option · c818cc06
      Jiri Olsa authored
      
      Currently we display extra header line, like:
      
        # perf stat -I 1000 -a --interval-clear
        #           time             counts unit events
               insn per cycle branch-misses of all branches
             2.964917103        3855.349912      cpu-clock (msec)          #    3.855 CPUs utilized
             2.964917103             23,993      context-switches          #    0.006 M/sec
             2.964917103              1,301      cpu-migrations            #    0.329 K/sec
             ...
      
      Fixing the condition and getting proper:
      
        # perf stat -I 1000 -a --interval-clear
        #           time             counts unit events
             2.359048938        1432.492228      cpu-clock (msec)          #    1.432 CPUs utilized
             2.359048938              7,613      context-switches          #    0.002 M/sec
             2.359048938                419      cpu-migrations            #    0.133 K/sec
             ...
      
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Fixes: 9660e08e ("perf stat: Add --interval-clear option")
      Link: http://lkml.kernel.org/r/20180702134202.17745-2-jolsa@kernel.org
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      c818cc06
    • Jiri Olsa's avatar
      perf tools: Fix compilation errors on gcc8 · a09603f8
      Jiri Olsa authored
      
      We are getting following warnings on gcc8 that break compilation:
      
        $ make
          CC       jvmti/jvmti_agent.o
        jvmti/jvmti_agent.c: In function ‘jvmti_open’:
        jvmti/jvmti_agent.c:252:35: error: ‘/jit-’ directive output may be truncated \
          writing 5 bytes into a region of size between 1 and 4096 [-Werror=format-truncation=]
          snprintf(dump_path, PATH_MAX, "%s/jit-%i.dump", jit_path, getpid());
      
      There's no point in checking the result of snprintf call in
      jvmti_open, the following open call will fail in case the
      name is mangled or too long.
      
      Using tools/lib/ function scnprintf that touches the return value from
      the snprintf() calls and thus get rid of those warnings.
      
        $ make DEBUG=1
          CC       arch/x86/util/perf_regs.o
        arch/x86/util/perf_regs.c: In function ‘arch_sdt_arg_parse_op’:
        arch/x86/util/perf_regs.c:229:4: error: ‘strncpy’ output truncated before terminating nul
        copying 2 bytes from a string of the same length [-Werror=stringop-truncation]
          strncpy(prefix, "+0", 2);
          ^~~~~~~~~~~~~~~~~~~~~~~~
      
      Using scnprintf instead of the strncpy (which we know is safe in here)
      to get rid of that warning.
      
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/20180702134202.17745-1-jolsa@kernel.org
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      a09603f8
    • Kim Phillips's avatar
      perf test shell: Prevent temporary editor files from being considered test scripts · db8fec58
      Kim Phillips authored
      
      Allows a perf shell test developer to concurrently edit and run their
      test scripts, avoiding perf test attempts to execute their editor
      temporary files, such as seen here:
      
       $ sudo taskset -c 0 ./perf test -vvvvvvvv -F 63
       63: 0VIM 8.0                                              :
       --- start ---
       sh: 1: ./tests/shell/.record+probe_libc_inet_pton.sh.swp: Permission denied
       ---- end ----
       0VIM 8.0: FAILED!
      
      Signed-off-by: default avatarKim Phillips <kim.phillips@arm.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Michael Petlan <mpetlan@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Sandipan Das <sandipan@linux.vnet.ibm.com>
      Cc: Thomas Richter <tmricht@linux.vnet.ibm.com>
      Link: http://lkml.kernel.org/r/20180629124658.15a506b41fc4539c08eb9426@arm.com
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      db8fec58
    • Kim Phillips's avatar
      perf llvm-utils: Remove bashism from kernel include fetch script · f6432b9f
      Kim Phillips authored
      
      Like system(), popen() calls /bin/sh, which may/may not be bash.
      
      Script when run on dash and encounters the line, yields:
      
       exit: Illegal number: -1
      
      checkbashisms report on script content:
      
       possible bashism (exit|return with negative status code):
       exit -1
      
      Remove the bashism and use the more portable non-zero failure
      status code 1.
      
      Signed-off-by: default avatarKim Phillips <kim.phillips@arm.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Michael Petlan <mpetlan@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Sandipan Das <sandipan@linux.vnet.ibm.com>
      Cc: Thomas Richter <tmricht@linux.vnet.ibm.com>
      Link: http://lkml.kernel.org/r/20180629124652.8d0af7e2281fd3fd8262cacc@arm.com
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      f6432b9f
    • Kim Phillips's avatar
      perf test shell: Make perf's inet_pton test more portable · 98c6c8a1
      Kim Phillips authored
      
      Debian based systems such as Ubuntu have dash as their default shell.
      Even if the normal or root user's shell is bash, certain scripts still
      call /bin/sh, which points to dash, so we fix this perf test by
      rewriting it in a more portable way.
      
      BEFORE:
      
       $ sudo perf test -v 64
       64: probe libc's inet_pton & backtrace it with ping       :
       --- start ---
       test child forked, pid 31942
       ./tests/shell/record+probe_libc_inet_pton.sh: 18: ./tests/shell/record+probe_libc_inet_pton.sh: expected[0]=ping[][0-9 \.:]+probe_libc:inet_pton: \([[:xdigit:]]+\): not found
       ./tests/shell/record+probe_libc_inet_pton.sh: 19: ./tests/shell/record+probe_libc_inet_pton.sh: expected[1]=.*inet_pton\+0x[[:xdigit:]]+[[:space:]]\(/lib/x86_64-linux-gnu/libc-2.27.so|inlined\)$: not found
       ./tests/shell/record+probe_libc_inet_pton.sh: 29: ./tests/shell/record+probe_libc_inet_pton.sh: expected[2]=getaddrinfo\+0x[[:xdigit:]]+[[:space:]]\(/lib/x86_64-linux-gnu/libc-2.27.so\)$: not found
       ./tests/shell/record+probe_libc_inet_pton.sh: 30: ./tests/shell/record+probe_libc_inet_pton.sh: expected[3]=.*\+0x[[:xdigit:]]+[[:space:]]\(.*/bin/ping.*\)$: not found
       ping 31963 [004] 83577.670613: probe_libc:inet_pton: (7fe15f87f4b0)
       ./tests/shell/record+probe_libc_inet_pton.sh: 39: ./tests/shell/record+probe_libc_inet_pton.sh: Bad substitution
       ./tests/shell/record+probe_libc_inet_pton.sh: 41: ./tests/shell/record+probe_libc_inet_pton.sh: Bad substitution
       test child finished with -2
       ---- end ----
       probe libc's inet_pton & backtrace it with ping: Skip
      
      AFTER:
      
       $ sudo perf test -v 64
       64: probe libc's inet_pton & backtrace it with ping       :
       --- start ---
       test child forked, pid 32277
       ping 32295 [001] 83679.690020: probe_libc:inet_pton: (7ff244f504b0)
       7ff244f504b0 __GI___inet_pton+0x0 (/lib/x86_64-linux-gnu/libc-2.27.so)
       7ff244f14ce4 getaddrinfo+0x124 (/lib/x86_64-linux-gnu/libc-2.27.so)
       556ac036b57d _init+0xb75 (/bin/ping)
       test child finished with 0
       ---- end ----
       probe libc's inet_pton & backtrace it with ping: Ok
      
      Signed-off-by: default avatarKim Phillips <kim.phillips@arm.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Michael Petlan <mpetlan@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Sandipan Das <sandipan@linux.vnet.ibm.com>
      Cc: Thomas Richter <tmricht@linux.vnet.ibm.com>
      Link: http://lkml.kernel.org/r/20180629124643.2089b3ce59960eba34e87b27@arm.com
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      98c6c8a1
    • Kim Phillips's avatar
      perf test shell: Replace '|&' with '2>&1 |' to work with more shells · 508ef3e7
      Kim Phillips authored
      
      Since we do not specify bash (and/or zsh) as a requirement, use the
      standard error redirection that is more widely supported.
      
      BEFORE:
      
       $ sudo perf test -v 62
       62: Check open filename arg using perf trace + vfs_getname:
       --- start ---
       test child forked, pid 27305
       ./tests/shell/trace+probe_vfs_getname.sh: 20: ./tests/shell/trace+probe_vfs_getname.sh: Syntax error: "&" unexpected
       test child finished with -2
       ---- end ----
       Check open filename arg using perf trace + vfs_getname: Skip
      
      AFTER:
      
       $ sudo perf test -v 62
       64: Check open filename arg using perf trace + vfs_getname               :
       --- start ---
       test child forked, pid 23008
       Added new event:
         probe:vfs_getname    (on getname_flags:72 with pathname=result->name:string)
      
       You can now use it in all perf tools, such as:
      
               perf record -e probe:vfs_getname -aR sleep 1
      
            0.361 ( 0.008 ms): touch/23032 openat(dfd: CWD, filename: /tmp/temporary_file.VEh0n, flags: CREAT|NOCTTY|NONBLOCK|WRONLY, mode: IRUGO|IWUGO) = 4
       test child finished with 0
       ---- end ----
       Check open filename arg using perf trace + vfs_getname: Ok
      
      Similar to commit 35435cd0, with the same title.
      
      Signed-off-by: default avatarKim Phillips <kim.phillips@arm.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Michael Petlan <mpetlan@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Sandipan Das <sandipan@linux.vnet.ibm.com>
      Cc: Thomas Richter <tmricht@linux.vnet.ibm.com>
      Link: http://lkml.kernel.org/r/20180629124633.0a9f4bea54b8d2c28f265de2@arm.com
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      508ef3e7
    • Jeremy Cline's avatar
      perf scripts python: Add Python 3 support to EventClass.py · 12aa6c73
      Jeremy Cline authored
      
      Support both Python 2 and Python 3 in EventClass.py. ``print`` is now a
      function rather than a statement. This should have no functional change.
      
      Signed-off-by: default avatarJeremy Cline <jeremy@jcline.org>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Herton Krzesinski <herton@redhat.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/0100016341a73aac-e0734bdc-dcab-4c61-8333-d8be97524aa0-000000@email.amazonses.com
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      12aa6c73
    • Jeremy Cline's avatar
      perf scripts python: Add Python 3 support to sched-migration.py · 8c1c1ab2
      Jeremy Cline authored
      
      Support both Python 2 and Python 3 in the sched-migration.py script.
      This should have no functional change.
      
      Signed-off-by: default avatarJeremy Cline <jeremy@jcline.org>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Herton Krzesinski <herton@redhat.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/0100016341a737a5-44ec436f-3440-4cac-a03f-ddfa589bf308-000000@email.amazonses.com
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      8c1c1ab2
    • Jeremy Cline's avatar
      perf scripts python: Add Python 3 support to Util.py · c45b168e
      Jeremy Cline authored
      
      Support both Python 2 and Python 3 in Util.py. The dict class no longer
      has a ``has_key`` method and print is now a function rather than a
      statement. This should have no functional change.
      
      Signed-off-by: default avatarJeremy Cline <jeremy@jcline.org>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Herton Krzesinski <herton@redhat.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/0100016341a730c6-8db8b9b1-da2d-4ee3-96bf-47e0ae9796bd-000000@email.amazonses.com
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      c45b168e
    • Jeremy Cline's avatar
      perf scripts python: Add Python 3 support to SchedGui.py · 2ab89262
      Jeremy Cline authored
      
      Fix a single syntax error in SchedGui.py to support both Python 2 and
      Python 3. This should have no functional change.
      
      Signed-off-by: default avatarJeremy Cline <jeremy@jcline.org>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Herton Krzesinski <herton@redhat.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/0100016341a72d26-75729663-fe55-4309-8c9b-302e065ed2f1-000000@email.amazonses.com
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      2ab89262
    • Jeremy Cline's avatar
      perf scripts python: Add Python 3 support to Core.py · 770d2f86
      Jeremy Cline authored
      
      Support both Python 2 and Python 3 in Core.py. This should have no
      functional change.
      
      Signed-off-by: default avatarJeremy Cline <jeremy@jcline.org>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Herton Krzesinski <herton@redhat.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/0100016341a72ebe-e572899e-f445-4765-98f0-c314935727f9-000000@email.amazonses.com
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      770d2f86
    • Jeremy Cline's avatar
      perf tools: Generate a Python script compatible with Python 2 and 3 · 877cc639
      Jeremy Cline authored
      
      When generating a Python script with "perf script -g python", produce
      one that is compatible with Python 2 and 3. The difference between the
      two generated scripts is:
      
        --- python2-perf-script.py	2018-05-08 15:35:00.865889705 -0400
        +++ python3-perf-script.py	2018-05-08 15:34:49.019789564 -0400
        @@ -7,6 +7,8 @@
         # be retrieved using Python functions of the form common_*(context).
         # See the perf-script-python Documentation for the list of available functions.
      
        +from __future__ import print_function
        +
         import os
         import sys
      
        @@ -18,10 +20,10 @@
      
         def trace_begin():
        -	print "in trace_begin"
        +	print("in trace_begin")
      
         def trace_end():
        -	print "in trace_end"
        +	print("in trace_end")
      
         def raw_syscalls__sys_enter(event_name, context, common_cpu,
         	common_secs, common_nsecs, common_pid, common_comm,
        @@ -29,26 +31,26 @@
         		print_header(event_name, common_cpu, common_secs, common_nsecs,
         			common_pid, common_comm)
      
        -		print "id=%d, args=%s" % \
        -		(id, args)
        +		print("id=%d, args=%s" % \
        +		(id, args))
      
        -		print 'Sample: {'+get_dict_as_string(perf_sample_dict['sample'], ', ')+'}'
        +		print('Sample: {'+get_dict_as_string(perf_sample_dict['sample'], ', ')+'}')
      
         		for node in common_callchain:
         			if 'sym' in node:
        -				print "\t[%x] %s" % (node['ip'], node['sym']['name'])
        +				print("\t[%x] %s" % (node['ip'], node['sym']['name']))
         			else:
        -				print "	[%x]" % (node['ip'])
        +				print("	[%x]" % (node['ip']))
      
        -		print "\n"
        +		print()
      
         def trace_unhandled(event_name, context, event_fields_dict, perf_sample_dict):
        -		print get_dict_as_string(event_fields_dict)
        -		print 'Sample: {'+get_dict_as_string(perf_sample_dict['sample'], ', ')+'}'
        +		print(get_dict_as_string(event_fields_dict))
        +		print('Sample: {'+get_dict_as_string(perf_sample_dict['sample'], ', ')+'}')
      
         def print_header(event_name, cpu, secs, nsecs, pid, comm):
        -	print "%-20s %5u %05u.%09u %8u %-20s " % \
        -	(event_name, cpu, secs, nsecs, pid, comm),
        +	print("%-20s %5u %05u.%09u %8u %-20s " % \
        +	(event_name, cpu, secs, nsecs, pid, comm), end="")
      
         def get_dict_as_string(a_dict, delimiter=' '):
         	return delimiter.join(['%s=%s'%(k,str(v))for k,v in sorted(a_dict.items())])
      
      Signed-off-by: default avatarJeremy Cline <jeremy@jcline.org>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Herton Krzesinski <herton@redhat.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/0100016341a7278a-d178c724-2b0f-49ca-be93-80a7d51aaa0d-000000@email.amazonses.com
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      877cc639
  3. Jul 10, 2018
    • Mathieu Desnoyers's avatar
      rseq/selftests: cleanup: Update comment above rseq_prepare_unload · 8a465801
      Mathieu Desnoyers authored
      
      rseq as it was merged does not have rseq_finish_*() in the user-space
      selftests anymore. Update the rseq_prepare_unload() helper comment to
      adapt to this reality.
      
      Signed-off-by: default avatarMathieu Desnoyers <mathieu.desnoyers@efficios.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: linux-api@vger.kernel.org
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: "Paul E . McKenney" <paulmck@linux.vnet.ibm.com>
      Cc: Boqun Feng <boqun.feng@gmail.com>
      Cc: Andy Lutomirski <luto@amacapital.net>
      Cc: Dave Watson <davejwatson@fb.com>
      Cc: Paul Turner <pjt@google.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: "H . Peter Anvin" <hpa@zytor.com>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: Chris Lameter <cl@linux.com>
      Cc: Ben Maurer <bmaurer@fb.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Josh Triplett <josh@joshtriplett.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: Michael Kerrisk <mtk.manpages@gmail.com>
      Cc: Joel Fernandes <joelaf@google.com>
      Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Link: https://lkml.kernel.org/r/20180709195155.7654-7-mathieu.desnoyers@efficios.com
      8a465801
    • Mathieu Desnoyers's avatar
      rseq: uapi: Declare rseq_cs field as union, update includes · ec9c82e0
      Mathieu Desnoyers authored
      
      Declaring the rseq_cs field as a union between __u64 and two __u32
      allows both 32-bit and 64-bit kernels to read the full __u64, and
      therefore validate that a 32-bit user-space cleared the upper 32
      bits, thus ensuring a consistent behavior between native 32-bit
      kernels and 32-bit compat tasks on 64-bit kernels.
      
      Check that the rseq_cs value read is < TASK_SIZE.
      
      The asm/byteorder.h header needs to be included by rseq.h, now
      that it is not using linux/types_32_64.h anymore.
      
      Considering that only __32 and __u64 types are declared in linux/rseq.h,
      the linux/types.h header should always be included for both kernel and
      user-space code: including stdint.h is just for u64 and u32, which are
      not used in this header at all.
      
      Use copy_from_user()/clear_user() to interact with a 64-bit field,
      because arm32 does not implement 64-bit __get_user, and ppc32 does not
      64-bit get_user. Considering that the rseq_cs pointer does not need to
      be loaded/stored with single-copy atomicity from the kernel anymore, we
      can simply use copy_from_user()/clear_user().
      
      Signed-off-by: default avatarMathieu Desnoyers <mathieu.desnoyers@efficios.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: linux-api@vger.kernel.org
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: "Paul E . McKenney" <paulmck@linux.vnet.ibm.com>
      Cc: Boqun Feng <boqun.feng@gmail.com>
      Cc: Andy Lutomirski <luto@amacapital.net>
      Cc: Dave Watson <davejwatson@fb.com>
      Cc: Paul Turner <pjt@google.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: "H . Peter Anvin" <hpa@zytor.com>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: Chris Lameter <cl@linux.com>
      Cc: Ben Maurer <bmaurer@fb.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Josh Triplett <josh@joshtriplett.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: Michael Kerrisk <mtk.manpages@gmail.com>
      Cc: Joel Fernandes <joelaf@google.com>
      Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Link: https://lkml.kernel.org/r/20180709195155.7654-5-mathieu.desnoyers@efficios.com
      ec9c82e0
  4. Jul 02, 2018
    • Josh Poimboeuf's avatar
      objtool: Support GCC 8 '-fnoreorder-functions' · 08b393d0
      Josh Poimboeuf authored
      
      Since the following commit:
      
        cd77849a ("objtool: Fix GCC 8 cold subfunction detection for aliased functions")
      
      ... if the kernel is built with EXTRA_CFLAGS='-fno-reorder-functions',
      objtool can get stuck in an infinite loop.
      
      That flag causes the new GCC 8 cold subfunctions to be placed in .text
      instead of .text.unlikely.  But it also has an unfortunate quirk: in the
      symbol table, the subfunction (e.g., nmi_panic.cold.7) is nested inside
      the parent (nmi_panic).
      
      That function overlap confuses objtool, and causes it to get into an
      infinite loop in next_insn_same_func().  Here's Allan's description of
      the loop:
      
        "Objtool iterates through the instructions in nmi_panic using
        next_insn_same_func. Once it reaches the end of nmi_panic at 0x534 it
        jumps to 0x528 as that's the start of nmi_panic.cold.7. However, since
        the instructions starting at 0x528 are still associated with nmi_panic
        objtool will get stuck in a loop, continually jumping back to 0x528
        after reaching 0x534."
      
      Fix it by shortening the length of the parent function so that the
      functions no longer overlap.
      
      Reported-and-analyzed-by: default avatarAllan Xavier <allan.x.xavier@oracle.com>
      Signed-off-by: default avatarJosh Poimboeuf <jpoimboe@redhat.com>
      Cc: Allan Xavier <allan.x.xavier@oracle.com>
      Cc: Andy Lutomirski <luto@kernel.org>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Brian Gerst <brgerst@gmail.com>
      Cc: Denys Vlasenko <dvlasenk@redhat.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Link: http://lkml.kernel.org/r/9e704c52bee651129b036be14feda317ae5606ae.1530136978.git.jpoimboe@redhat.com
      
      
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      08b393d0
  5. Jun 30, 2018
  6. Jun 29, 2018
  7. Jun 28, 2018
  8. Jun 27, 2018
  9. Jun 26, 2018
  10. Jun 25, 2018
    • Ravi Bangoria's avatar
      perf tools: Fix crash caused by accessing feat_ops[HEADER_LAST_FEATURE] · 92ead7ee
      Ravi Bangoria authored
      
      perf_event__process_feature() accesses feat_ops[HEADER_LAST_FEATURE]
      which is not defined and thus perf is crashing. HEADER_LAST_FEATURE is
      used as an end marker for the perf report but it's unused for perf
      script/annotate. Ignore HEADER_LAST_FEATURE for perf script/annotate,
      just like it is done in 'perf report'.
      
      Before:
        # perf record -o - ls | perf script
        <SNIP 'ls' output>
        Segmentation fault (core dumped)
        #
      
      After:
        # perf record -o - ls | perf script
        <SNIP 'ls' output>
        Segmentation fault (core dumped)
        ls 7031 4392.099856:  250000 cpu-clock:uhH:  7f5e0ce7cd60
        ls 7031 4392.100355:  250000 cpu-clock:uhH:  7f5e0c706ef7
        #
      
      Signed-off-by: default avatarRavi Bangoria <ravi.bangoria@linux.ibm.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: David Carrillo-Cisneros <davidcc@google.com>
      Cc: Jin Yao <yao.jin@linux.intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Fixes: 57b5de46 ("perf report: Support forced leader feature in pipe mode")
      Link: http://lkml.kernel.org/r/20180625124220.6434-4-ravi.bangoria@linux.ibm.com
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      92ead7ee
    • Ravi Bangoria's avatar
      perf script: Fix crash because of missing evsel->priv · a3af66f5
      Ravi Bangoria authored
      
      'perf script' in piped mode is crashing because evsel->priv is not set
      properly. Fix it.
      
      Before:
      
        # perf record -o - -- ls | perf script
        <SNIP 'ls' output>
          Segmentation fault (core dumped)
        #
      
      After:
      
        # perf record -o - -- ls | perf script
        <SNIP 'ls' output>
        ls 2282 1031.731974:  250000 cpu-clock:uhH:  7effe4b3d29e
        ls 2282 1031.732222:  250000 cpu-clock:uhH:  7effe4b3a650
        #
      
      Signed-off-by: default avatarRavi Bangoria <ravi.bangoria@linux.ibm.com>
      Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: David Carrillo-Cisneros <davidcc@google.com>
      Cc: Jin Yao <yao.jin@linux.intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Fixes: a14390fd ("perf script: Allow creating per-event dump files")
      Link: http://lkml.kernel.org/r/20180625124220.6434-3-ravi.bangoria@linux.ibm.com
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      a3af66f5
    • Ravi Bangoria's avatar
      perf script: Add missing output fields in a hint · 10e9cec9
      Ravi Bangoria authored
      
      A few fields are missing in a perf script -F hint. Add them.
      
      Signed-off-by: default avatarRavi Bangoria <ravi.bangoria@linux.ibm.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: David Carrillo-Cisneros <davidcc@google.com>
      Cc: Jin Yao <yao.jin@linux.intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: http://lkml.kernel.org/r/20180625124220.6434-2-ravi.bangoria@linux.ibm.com
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      10e9cec9
    • Jiri Olsa's avatar
      perf bench: Fix numa report output code · 98310707
      Jiri Olsa authored
      
      Currently we can hit following assert when running numa bench:
      
        $ perf bench numa mem -p 3 -t 1 -P 512 -s 100 -zZ0cm --thp 1
        perf: bench/numa.c:1577: __bench_numa: Assertion `!(!(((wait_stat) & 0x7f) == 0))' failed.
      
      The assertion is correct, because we hit the SIGFPE in following line:
      
        Thread 2.2 "thread 0/0" received signal SIGFPE, Arithmetic exception.
        [Switching to Thread 0x7fffd28c6700 (LWP 11750)]
        0x000.. in worker_thread (__tdata=0x7.. ) at bench/numa.c:1257
        1257 td->speed_gbs = bytes_done / (td->runtime_ns / NSEC_PER_SEC) / 1e9;
      
      We don't check if the runtime is actually bigger than 1 second,
      and thus this might end up with zero division within FPU.
      
      Adding the check to prevent this.
      
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/20180620094036.17278-1-jolsa@kernel.org
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      98310707
    • Thomas Richter's avatar
      perf stat: Remove duplicate event counting · 6dde6429
      Thomas Richter authored
      
      'perf stat' shows a mismatch in perf stat regarding counter names on
      s390:
      
      Run command:
      
         [root@s35lp76 perf]# ./perf stat -e tx_nc_tend  -v --
                      ~/mytesttx 1 >/tmp/111
         tx_nc_tend: 1 573146 573146
         tx_nc_tend: 1 573146 573146
      
         Performance counter stats for '/root/mytesttx 1':
      
                       3      tx_nc_tend
      
             0.001037252 seconds time elapsed
      
         [root@s35lp76 perf]#
      
      shows transaction counter tx_nc_tend with value 3 but it was triggered
      only once as seen by the output of mytesttx.
      
      When looking up the event name tx_nc_tend the following function
      sequence is called:
      
      parse_events_multi_pmu_add()
      +--> perf_pmu__scan() being called with NULL argument
           +--> pmu_read_sysfs() scans directory ../devices/ for
                                 all PMUs
                +--> perf_pmu__find() tries to find a PMU in the
                                 global pmu list.
                     +--> pmu_lookup() called to read all file
                                       entries when not in global
                                       list.
      
      pmu_lookup() causes the issue. It calls
      +---> pmu_aliases() to read all the entries in the PMU directory.
                          On s390 this is named
                          /sys/devices/cpum_cf/events.
            +--> pmu_aliases_parse() reads all files and creates an
                             alias for each file name.
      
                             So we end up with first entry created by
                             reading the sysfs file
                             [root@s35lp76 perf]# cat /sys/devices/cpum_cf
                                                      /events/TX_NC_TEND
                             event=0x008d
                             [root@s35lp76 perf]#
      
                             Debug output shows this entry
                             tx_nc_tend -> 'cpum_cf'/'event=0x008d
                             '/
                             After all files in this directory have been
                             read and aliases created this function is called:
            +--> pmu_add_cpu_aliases()
                             This function looks up the CPU tables
                             created by the json files.
                             With json files for s390 now available all
                             the aliases are added to
                             the PMU alias list a second time.
                             The second entry is added by
                             reading the json file converted by jevent
                             resulting in file pmu-events/pmu-events.c:
      
                             {
                               .name = "tx_nc_tend",
                               .event = "event=0x8d",
                               .desc = "Unit: cpum_cf Completed TEND \
                                        instructions \
                                        in non-constrained TX mode",
                               .topic = "extended",
                               .long_desc = "A TEND instruction has \
                                             completed  in a \
                                             non-constrained \
                                             transactional-execution mode",
                               .pmu = "cpum_cf",
                              },
      
                              Debug output shows this entry
                              tx_nc_tend -> 'cpum_cf'/'event=0x8d'/
      
      Function pmu_aliases_parse() and pmu_add_cpu_aliases() both use
      __perf_pmu__new_alias() to add an alias to the PMU alias list. There is
      no check if an alias already exist
      
      So we end up with 2 entries for tx_nc_tend in the PMU alias list.
      
      Having set up the PMU alias list for this PMU now
      parse_events_multi_add_pmu() reads the complete alias list and adds each
      alias with parse_events_add_pmu() to the global perfev_list.  This
      causes the alias to be added multiple times to the event list.
      
      Fix this by making __perf_pmu__new_alias() to merge alias definitions if
      an alias is already on the alias list.  Also print a debug message when
      the alias has mismatches in some fields.
      
      Output before:
      
        [root@s35lp76 perf]# ./perf stat -e tx_nc_tend  -v \
                              -- ~/mytesttx 1 >/tmp/111
        tx_nc_tend: 1 551446 551446
      
         Performance counter stats for '/root/mytesttx 1':
      
                         3      tx_nc_tend
      
               0.000961134 seconds time elapsed
      
        [root@s35lp76 perf]#
      
      Output after:
      
        [root@s35lp76 perf]#  ./perf stat -e tx_nc_tend  -v \
                              -- ~/mytesttx 1 >/tmp/111
        tx_nc_tend: 1 551446 551446
      
         Performance counter stats for '/root/mytesttx 1':
      
                         1      tx_nc_tend
      
               0.000961134 seconds time elapsed
      
        [root@s35lp76 perf]#
      
      Signed-off-by: default avatarThomas Richter <tmricht@linux.ibm.com>
      Reviewed-by: default avatarHendrik Brueckner <brueckner@linux.ibm.com>
      Reviewed-by: default avatarJiri Olsa <jolsa@redhat.com>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Link: http://lkml.kernel.org/r/20180615101105.47047-3-tmricht@linux.ibm.com
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      6dde6429
    • Thomas Richter's avatar
      perf alias: Rebuild alias expression string to make it comparable · 0c24d6fb
      Thomas Richter authored
      
      PMU alias definitions in sysfs files may have spaces, newlines and
      numbers with leading zeroes. Some alias definitions may also appear in
      JSON files without spaces, etc.
      
      Scan alias definitions and remove leading zeroes, spaces, newlines, etc
      and rebuild string to make alias->str member comparable.
      
      s390 for example  has terms specified as event=0x0091 (read from files
      ../<PMU>/events/<FILE> and terms specified as event=0x91 (read from JSON
      files).
      
      Signed-off-by: default avatarThomas Richter <tmricht@linux.ibm.com>
      Reviewed-by: default avatarHendrik Brueckner <brueckner@linux.ibm.com>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Link: http://lkml.kernel.org/r/20180615101105.47047-2-tmricht@linux.ibm.com
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      0c24d6fb
    • Thomas Richter's avatar
      perf alias: Remove trailing newline when reading sysfs files · ea23ac73
      Thomas Richter authored
      
      Remove a trailing newline when reading sysfs file contents such as
      /sys/devices/cpum_cf/events/TX_NC_TEND.  This shows when verbose option
      -v is used.
      
      Output before:
      
        tx_nc_tend -> 'cpum_cf'/'event=0x008d
        '/
      
      Output after:
      
        tx_nc_tend -> 'cpum_cf'/'event=0x8d'/
      
      Signed-off-by: default avatarThomas Richter <tmricht@linux.ibm.com>
      Reviewed-by: default avatarHendrik Brueckner <brueckner@linux.ibm.com>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Link: http://lkml.kernel.org/r/20180615101105.47047-1-tmricht@linux.ibm.com
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      ea23ac73
    • Yonghong Song's avatar
      perf tools: Fix a clang 7.0 compilation error · c6555c14
      Yonghong Song authored
      
      Arnaldo reported the perf build failure with latest llvm/clang compiler
      (7.0).
      
         $ make LIBCLANGLLVM=1 -C tools/perf/
         <SNIP>
          CC       /tmp/tmp.t53Qo38zci/tests/kmod-path.o
         util/c++/clang.cpp: In function ‘std::unique_ptr<llvm::SmallVectorImpl<char> >
             perf::getBPFObjectFromModule(llvm::Module*)’:
         util/c++/clang.cpp:150:43: error: no matching function for call to
             ‘llvm::TargetMachine::addPassesToEmitFile(llvm::legacy::PassManager&,
              llvm::raw_svector_ostream&, llvm::TargetMachine::CodeGenFileType)’
                     TargetMachine::CGFT_ObjectFile)) {
                                                   ^
         In file included from util/c++/clang.cpp:25:0:
         /usr/local/include/llvm/Target/TargetMachine.h:254:16: note: candidate:
             virtual bool llvm::TargetMachine::addPassesToEmitFile(
             llvm::legacy::PassManagerBase&, llvm::raw_pwrite_stream&,
             llvm::raw_pwrite_stream*, llvm::TargetMachine::CodeGenFileType, bool,
             llvm::MachineModuleInfo*)
           virtual bool addPassesToEmitFile(PassManagerBase &, raw_pwrite_stream &,
                        ^~~~~~~~~~~~~~~~~~~
        /usr/local/include/llvm/Target/TargetMachine.h:254:16: note:
            candidate expects 6 arguments, 3 provided
        mv: cannot stat '/tmp/tmp.t53Qo38zci/util/c++/.clang.o.tmp': No such file or directory
        make[7]: *** [/home/acme/git/perf/tools/build/Makefile.build:101:
            /tmp/tmp.t53Qo38zci/util/c++/clang.o] Error 1
        make[6]: *** [/home/acme/git/perf/tools/build/Makefile.build:139: c++] Error 2
        make[5]: *** [/home/acme/git/perf/tools/build/Makefile.build:139: util] Error 2
        make[5]: *** Waiting for unfinished jobs....
          CC       /tmp/tmp.t53Qo38zci/tests/thread-map.o
      
      The function addPassesToEmitFile signature changed in llvm 7.0 and such
      a change caused the failure. This patch fixed the issue with using
      proper function signatures under different compiler versions.
      
      Reported-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarYonghong Song <yhs@fb.com>
      Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Alexei Starovoitov <ast@fb.com>
      Cc: Daniel Borkmann <daniel@iogearbox.net>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Martin KaFai Lau <kafai@fb.com>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: http://lkml.kernel.org/r/20180616174739.1076733-1-yhs@fb.com
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      c6555c14
    • Arnaldo Carvalho de Melo's avatar
      tools include uapi: Synchronize bpf.h with the kernel · f568b472
      Arnaldo Carvalho de Melo authored
      To pick the rename in:
      
        bd3a08aa ("bpf: flowlabel in bpf_fib_lookup should be flowinfo")
      
      Silencing this build warning:
      
        Warning: Kernel ABI header at 'tools/include/uapi/linux/bpf.h' differs from latest version at 'include/uapi/linux/bpf.h'
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Alexei Starovoitov <ast@kernel.org>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: https://lkml.kernel.org/n/tip-zd1sgtbybtjrrt7bqdybu0s0@git.kernel.org
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      f568b472
    • Arnaldo Carvalho de Melo's avatar
      tools include uapi: Update if_link.h to pick IFLA_{BRPORT_ISOLATED,VXLAN_TTL_INHERIT} · bb9a33cb
      Arnaldo Carvalho de Melo authored
      The IFLA_BRPORT_ISOLATED and IFLA_VXLAN_TTL_INHERIT defines were added in:
      
        7d850abd ("net: bridge: add support for port isolation")
        72f6d71e ("vxlan: add ttl inherit support")
      
      Pick them, silencing this build warning:
      
        Warning: Kernel ABI header at 'tools/include/uapi/linux/if_link.h' differs from latest version at 'include/uapi/linux/if_link.h'
      
      Cc: Alexei Starovoitov <ast@kernel.org>
      Cc: David S. Miller <davem@davemloft.net>
      Cc: Eric Leblond <eric@regit.org>
      Cc: Hangbin Liu <liuhangbin@gmail.com>
      Cc: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
      Link: https://lkml.kernel.org/n/tip-ezi5u0mmdqm0wfm0y2y8176r@git.kernel.org
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      bb9a33cb
    • Arnaldo Carvalho de Melo's avatar
      tools include powerpc: Update arch/powerpc/include/uapi/asm/unistd.h copy to get 'rseq' syscall · 801f5e1a
      Arnaldo Carvalho de Melo authored
      This updates the tools/perf/ copy of the powerpc file used to generate
      the syscall table file used to make 'perf trace' become aware of the new
      'rseq' syscall, no matter in which system it gets built, i.e. older
      systems where the syscalls are not available in the running kernel (via
      tracefs) or in the system headers will still be aware of these
      syscalls/.
      
      From this commit:
      
        bb862b02 ("powerpc: Wire up restartable sequences system call")
      
      Silencing this tools/perf build warning:
      
        Warning: Kernel ABI header at 'tools/arch/powerpc/include/uapi/asm/unistd.h' differs from latest version at 'arch/powerpc/include/uapi/asm/unistd.h'
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Boqun Feng <boqun.feng@gmail.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Thomas Richter <tmricht@linux.vnet.ibm.com>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: https://lkml.kernel.org/n/tip-adtgz6u3apd76tghiu9w0k19@git.kernel.org
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      801f5e1a
Loading