03 Jan, 2011

1 commit

  • ipchain__fprintf_graph() casts the number of hits in a branch as an
    int, which means we lose its highests bits.

    This results in meaningless number of callchain hits in perf.data
    that have a high number of hits recorded, typically those that have
    callchain branches hits appearing more than INT_MAX. This happens
    easily as those are pondered by the event period.

    Reported-by: Nick Piggin
    Signed-off-by: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Peter Zijlstra
    Cc: Arnaldo Carvalho de Melo
    Cc: Paul Mackerras

    Frederic Weisbecker
     

22 Dec, 2010

2 commits

  • Since the libdwfl library before 0.148 fails to analyze live kernel debuginfo,
    'perf probe --list' compiled with those old libdwfl sometimes crashes.

    To avoid that bug, perf probe does not use libdwfl's live kernel analysis
    routine when it is compiled with older libdwfl.

    Side effect: perf with older libdwfl doesn't support listing probe in modules
    with source code line. Those could be shown by symbol+offset.

    Cc: 2nddept-manager@sdl.hitachi.co.jp
    Cc: Ingo Molnar
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Srikar Dronamraju
    Cc: Steven Rostedt
    LKML-Reference:
    Signed-off-by: Masami Hiramatsu
    Signed-off-by: Arnaldo Carvalho de Melo

    Masami Hiramatsu
     
  • Fix lazy wildcard matching to ignore space after wild card.

    Cc: 2nddept-manager@sdl.hitachi.co.jp
    Cc: Frederic Weisbecker
    Cc: Hitoshi Mitake
    Cc: Ingo Molnar
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Srikar Dronamraju
    Cc: Steven Rostedt
    LKML-Reference:
    Signed-off-by: Masami Hiramatsu
    Signed-off-by: Arnaldo Carvalho de Melo

    Masami Hiramatsu
     

16 Dec, 2010

4 commits

  • It was always returning -1 (255), confusing test scripts.

    Reported-by: Han Pingtian
    Cc: Frederic Weisbecker
    Cc: Han Pingtian
    Cc: Ingo Molnar
    Cc: Mike Galbraith
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Cc: Tom Zanussi
    LKML-Reference:
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • This was broken since link(2) doesn't dereference symbolic
    links. Instead 'filename' becomes a symbolic link to the same file
    that 'name' refers to.

    This had the bad effect to create dangling symlinks in the case that
    even can't be removed with perf-buildid-cache(1).

    LKML-Reference:
    Signed-off-by: Franck Bui-Huu
    Signed-off-by: Arnaldo Carvalho de Melo

    Franck Bui-Huu
     
  • Fail if the kernel image contains no symbol, allowing using other images
    in the vmlinux search path that may have a usable symtab.

    Acked-by: Masami Hiramatsu
    Cc: 2nddept-manager@sdl.hitachi.co.jp
    Cc: Francis Moreau
    Cc: Franck Bui-Huu
    Cc: Masami Hiramatsu
    LPU-Reference:
    Signed-off-by: Franck Bui-Huu
    Signed-off-by: Arnaldo Carvalho de Melo

    Franck Bui-Huu
     
  • Users were not being able to have the explicitely specified vmlinux
    pathname used, instead a search on the vmlinux path was always being
    made.

    Reported-by: Francis Moreau
    Acked-by: Masami Hiramatsu
    Cc: 2nddept-manager@sdl.hitachi.co.jp
    Cc: Francis Moreau
    Cc: Franck Bui-Huu
    Cc: Masami Hiramatsu
    LPU-Reference:
    Signed-off-by: Franck Bui-Huu
    Signed-off-by: Arnaldo Carvalho de Melo

    Franck Bui-Huu
     

07 Dec, 2010

1 commit

  • When execvp fails to find the specified command on the path we won't get
    SIGCHLD, so send a SIGUSR1 and exit right away.

    Current situation would require a SIGINT performed by the user and would
    produce meaningless summary.

    Now:

    [acme@emilia linux]$ ./foo
    -bash: ./foo: No such file or directory
    [acme@emilia linux]$ perf record ./foo
    ./foo: No such file or directory
    [acme@emilia linux]$

    Acked-by: Thomas Gleixner
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Mike Galbraith
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Cc: Tom Zanussi
    Cc: Thomas Gleixner
    LKML-Reference:
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     

01 Dec, 2010

3 commits

  • This primarily fixes perf-report, which didn't report the correct type
    of event if perf-record was called to record one event different from
    'cycles':

    $ perf record -e instructions true
    [ perf record: Woken up 1 times to write data ]
    [ perf record: Captured and wrote 0.007 MB perf.data (~295 samples) ]

    $ perf report | head -n1
    # Events: 7 cycles

    LPU-Reference:
    Signed-off-by: Franck Bui-Huu

    Franck Bui-Huu
     
  • On ARM, module symbol start address is ahead of kernel symbol start address, so
    we can't suppose that the start address of kernel map always is zero, otherwise
    may cause incorrect .start and .end of kernel map (caused by fixup) when there
    are modules loaded, then map_groups__find may return incorrect map for symbol
    query.

    This patch always figures out the start address of kernel map from
    /proc/kallsyms if the file is available, so fix the issues on ARM for module
    loaded case.

    This patch fixes the following issues on ARM when modules are loaded:

    - vmlinux symbol can't be found by kallsyms maps doing 'perf test'
    - module symbols are parsed mistakenlly when doing 'perf top'/'perf report'

    Cc: Ian Munsie
    Cc: Ingo Molnar
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: Tom Zanussi
    LKML-Reference:
    Signed-off-by: Ming Lei
    Signed-off-by: Arnaldo Carvalho de Melo

    Ming Lei
     
  • On ARM, module addresss space is ahead of kernel space, so the module
    symbols are handled before kernel symbol in dso__split_kallsyms, then
    was causing one map to be created for each kernel symbol.

    Reported-by: Ming Lei
    Tested-by: Ming Lei
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Mike Galbraith
    Cc: Ming Lei
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Cc: Tom Zanussi
    LKML-Reference:
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     

24 Nov, 2010

1 commit

  • At least on ARM, padding is inserted between rb_node and sym in struct
    symbol_name_rb_node, causing "((void *)sym) - sizeof(struct rb_node)" to
    point inside rb_node rather than to the symbol_name_rb_node. Fix this
    by converting the code to use container_of().

    Cc: Ian Munsie
    Cc: Ingo Molnar
    Cc: Ming Lei
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: Tom Zanussi
    LKML-Reference:
    Signed-off-by: Rabin Vincent
    Signed-off-by: Arnaldo Carvalho de Melo

    Rabin Vincent
     

23 Nov, 2010

1 commit

  • The 59365d1 commit, even being reverted by 33e0d57, showed a non robust
    behavior in 'perf record': it really should just warn the user that some
    functionality will not be available.

    The new behavior then becomes:

    [acme@felicio linux]$ ls -la /proc/{kallsyms,modules}
    -r-------- 1 root root 0 Nov 22 12:19 /proc/kallsyms
    -r-------- 1 root root 0 Nov 22 12:19 /proc/modules
    [acme@felicio linux]$ perf record ls -R > /dev/null
    Couldn't record kernel reference relocation symbol
    Symbol resolution may be skewed if relocation was used (e.g. kexec).
    Check /proc/kallsyms permission or run as root.
    [ perf record: Woken up 1 times to write data ]
    [ perf record: Captured and wrote 0.004 MB perf.data (~161 samples) ]
    [acme@felicio linux]$ perf report --stdio
    [kernel.kallsyms] with build id 77b05e00e64e4de1c9347d83879779b540d69f00 not found, continuing without symbols
    # Events: 98 cycles
    #
    # Overhead Command Shared Object Symbol
    # ........ ....... ............... ....................
    #
    48.26% ls [kernel] [k] ffffffff8102b92b
    22.49% ls libc-2.12.90.so [.] __strlen_sse2
    8.35% ls libc-2.12.90.so [.] __GI___strcoll_l
    8.17% ls ls [.] 11580
    3.35% ls libc-2.12.90.so [.] _IO_new_file_xsputn
    3.33% ls libc-2.12.90.so [.] _int_malloc
    1.88% ls libc-2.12.90.so [.] _int_free
    0.84% ls libc-2.12.90.so [.] malloc_consolidate
    0.84% ls libc-2.12.90.so [.] __readdir64
    0.83% ls ls [.] strlen@plt
    0.83% ls libc-2.12.90.so [.] __GI_fwrite_unlocked
    0.83% ls libc-2.12.90.so [.] __memcpy_sse2

    #
    # (For a higher level overview, try: perf report --sort comm,dso)
    #
    [acme@felicio linux]$

    It still has the build-ids for DSOs in the maps with hits:

    [acme@felicio linux]$ perf buildid-list
    77b05e00e64e4de1c9347d83879779b540d69f00 [kernel.kallsyms]
    09c4a431a4a8b648fcfc2c2bdda70f56050ddff1 /bin/ls
    af75ea9ad951d25e0f038901a11b3846dccb29a4 /lib64/libc-2.12.90.so
    [acme@felicio linux]$

    That can be used in another machine to resolve kernel symbols.

    Cc: Eugene Teo
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Jesper Juhl
    Cc: Marcus Meissner
    Cc: Mike Galbraith
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Sarah Sharp
    Cc: Stephane Eranian
    Cc: Tejun Heo
    Cc: Tom Zanussi
    LKML-Reference:
    Signed-off-by: Arnaldo Carvalho de Melo

    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     

10 Nov, 2010

9 commits

  • Update usage to reflect the different perf trace variants.

    Signed-off-by: Tom Zanussi
    Acked-by: Arnaldo Carvalho de Melo

    Tom Zanussi
     
  • Add documentation describing new 'perf trace' command changes
    e.g. handling and live-mode/top variants.

    Signed-off-by: Tom Zanussi
    Acked-by: Arnaldo Carvalho de Melo

    Tom Zanussi
     
  • This patch attempts to make the perf trace command-line for live-mode
    commands more user-friendly and consistent with other perf commands.

    The main change it makes is to allow to be run as part of
    perf trace live-mode commands, as other perf commands do, instead of
    the system-wide traces they're currently hard-coded to by the shell
    scripts.

    With this patch, the following live-mode trace now works as expected:

    $ perf trace rw-by-pid ls -al

    The previous system-wide behavior for this command would still be
    available by explicitly specifying -a:

    $ perf trace rw-by-pid -a ls -al

    and if no is specified, the output is also system-wide:

    $ perf trace rw-by-pid

    Because live-mode requires both record and report steps to be invoked,
    it isn't always possible to know which args to send to the report and
    which to send to the record steps - mainly this is the case for report
    scripts with optional args - in those cases it would be necessary to
    use separate 'perf trace record' and 'perf trace report' steps.

    For example:

    $ perf trace syscall-counts ls

    Here we can't decide whether ls should be passed as a param to the
    syscall-counts script or whether we should invoke ls as a .
    In these cases, we just say that we'll ignore optional script params
    and always interpret the extra arguments as a .

    If the user instead wants the other interpretation, that can be
    accomplished by using separate record and report commands explicitly:

    $ perf trace record syscall-counts
    $ perf trace report syscall-counts ls

    So the rules that this patch implements, which seem to make the most
    intuitive sense for live-mode commands:

    - for commands with optional args and commands with no args, no args
    are sent to the report script, all are sent to the record step

    - for 'top' commands i.e. that end with 'top', can't be
    used - all extra args are send to the report script as params

    - for commands with required args, the n required args are taken to be
    the first n args after the script name and sent to the report
    script, and the rest are sent to the record step

    Signed-off-by: Tom Zanussi
    Acked-by: Arnaldo Carvalho de Melo

    Tom Zanussi
     
  • Because the perf-trace shell scripts hard-coded the use of the
    perf-record system-wide param, a perf trace record session was always
    system wide, even if it was given a command.

    If given a command, perf trace record now only records the events for
    the command, as users expect.

    If no command is given, or if the '-a' option is used, the recorded
    events are system-wide, as before.

    root@tropicana:~# perf trace record syscall-counts ls -al
    root@tropicana:~# perf trace
    ls-23152 [000] 39984.890387: sys_enter: NR 12 (0, 0, 0, 0, 0, 0)
    ls-23152 [000] 39984.890404: sys_enter: NR 9 (0, 0, 0, 0, 0, 0)

    root@tropicana:~# perf trace record syscall-counts -a ls -al
    root@tropicana:~# perf trace
    npviewer.bin-22297 [000] 39831.102709: sys_enter: NR 168 (0, 0, 0, 0, 0, 0)
    ls-23111 [000] 39831.107679: sys_enter: NR 59 (0, 0, 0, 0, 0, 0)

    Signed-off-by: Tom Zanussi
    Acked-by: Arnaldo Carvalho de Melo

    Tom Zanussi
     
  • Other perf commands that invoke perf record, such as perf trace, may
    want to reuse the options used by perf record.

    This makes them non-static and renames them to avoid clashes with
    other 'options' variables.

    Signed-off-by: Tom Zanussi
    Acked-by: Arnaldo Carvalho de Melo

    Tom Zanussi
     
  • Including -a unconditionally when recording doesn't allow for the
    option of running scripts without it. Future patches will add add it
    back if needed at run-time.

    Signed-off-by: Tom Zanussi
    Acked-by: Arnaldo Carvalho de Melo

    Tom Zanussi
     
  • Free the other two fields of script_desc which somehow got overlooked,
    free malloc'ed args in case exec fails, and add missing checks for
    failed mallocs.

    Signed-off-by: Tom Zanussi
    Acked-by: Arnaldo Carvalho de Melo

    Tom Zanussi
     
  • profile_cpu was left over from an earlier implementation that
    supported running perf top on a single CPU. profile_cpu was no
    longer set by any switch and usages of it resulted in dead code.

    Instead, convert the code to use cpu_list, which is set by the
    -C option.

    Also improved the printing of nr_cpus and cpu_list by correcting
    the plurals.

    Signed-off-by: Corey Ashford
    Cc: a.p.zijlstra@chello.nl
    Cc: acme@redhat.com
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Corey Ashford
     
  • The gcc complains about small auto-var strings being allocated from stack space.
    Make them const to avoid this:

    | CC util/ui/util.o
    | cc1: warnings being treated as errors
    | util/ui/util.c: In function ‘ui__dialog_yesno’:
    | util/ui/util.c:108: error: not protecting function: no buffer at least 8 bytes long
    | make: *** [util/ui/util.o] Error 1

    The real bug is in the newtWinChoice() ABI - but that's an
    externality we cannot fix here, so we use this workaround.

    Signed-off-by: Cyrill Gorcunov
    Acked-by: Frédéric Weisbecker
    Cc: Arnaldo Carvalho de Melo
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Cyrill Gorcunov
     

27 Oct, 2010

4 commits


26 Oct, 2010

7 commits

  • If we include a newline character in the string argument to perror()
    then the output will be split across two lines like so,

    Unable to read perf file descriptor
    : No space left on device

    Deleting the newline character prints a much more readable error,

    Unable to read perf file descriptor: No space left on device

    Cc: Peter Zijlstra
    Cc: Paul Mackerras
    Cc: Ingo Molnar
    Cc: Frederic Weisbecker
    Cc: Tom Zanussi
    LKML-Reference:
    Signed-off-by: Matt Fleming
    Signed-off-by: Arnaldo Carvalho de Melo

    Matt Fleming
     
  • …inux-2.6 into perf/urgent

    Ingo Molnar
     
  • Where we don't have the audit.MACH_ARMEB constant.

    Cc: David S. Miller
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Mike Galbraith
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Cc: Tom Zanussi
    LKML-Reference:
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • . Print message at script start telling how to get te summary
    . Print the syscall names
    . Accept both pid (if numeric) or COMM name

    Now it looks like this:

    [root@emilia tmp]# perf trace syscall-counts-by-pid
    Press control+C to stop and show the summary
    ^C
    syscall events by comm/pid:

    comm [pid]/syscalls count
    ---------------------------------------- ----------

    automount [1670]
    futex 2

    sshd [2322]
    rt_sigprocmask 4
    select 2
    write 1
    read 1

    perf [15178]
    read 2506
    open 794
    close 769
    write 240
    getdents 112
    lseek 16
    stat 9
    perf_counter_open 5
    fcntl 5
    mmap 5
    statfs 2

    perf [15179]
    read 56701
    open 499
    stat 176
    fstat 149
    close 109
    mmap 98
    brk 75
    rt_sigaction 66
    munmap 42
    mprotect 24
    lstat 7
    lseek 5
    getdents 4
    ioctl 3
    readlink 2
    futex 1
    statfs 1
    getegid 1
    geteuid 1
    getgid 1
    getuid 1
    getrlimit 1
    fcntl 1
    uname 1
    write 1
    [root@emilia tmp]# fg
    -bash: fg: current: no such job
    [root@emilia tmp]# perf trace syscall-counts-by-pid 2322
    Press control+C to stop and show the summary
    ^C
    syscall events by comm/pid:

    comm [pid]/syscalls count
    ---------------------------------------- ----------

    sshd [2322]
    rt_sigprocmask 4
    select 2
    write 1
    read 1
    [root@emilia tmp]# perf trace syscall-counts-by-pid sshd
    Press control+C to stop and show the summary
    ^C
    syscall events for sshd:

    comm [pid]/syscalls count
    ---------------------------------------- ----------

    sshd [2322]
    rt_sigprocmask 4
    select 2
    write 1
    read 1
    [root@emilia tmp]#

    Cc: David S. Miller
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Mike Galbraith
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Cc: Tom Zanussi
    LKML-Reference:
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • [root@emilia tmp]# perf trace sctop 1
    syscall events:

    event count
    ---------------------------------------- ----------
    read 215400
    futex 4029
    write 376
    brk 33
    rt_sigprocmask 24
    select 17
    lseek 2
    fsync 1
    ^C[root@emilia tmp]#

    Cc: David S. Miller
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Mike Galbraith
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Cc: Tom Zanussi
    LKML-Reference:
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • . Print message at script start telling how to get te summary
    . Print the syscall name

    Now it looks like this:

    [root@emilia ~]# perf trace syscall-counts
    Press control+C to stop and show the summary
    ^C
    syscall events:

    event count
    ---------------------------------------- -----------
    read 102752
    open 1293
    close 878
    write 319
    stat 185
    fstat 149
    getdents 116
    mmap 98
    brk 80
    rt_sigaction 66
    munmap 42
    mprotect 24
    lseek 21
    lstat 7
    rt_sigprocmask 4
    futex 3
    statfs 3
    ioctl 3
    readlink 2
    select 2
    getegid 1
    geteuid 1
    getgid 1
    getuid 1
    getrlimit 1
    fcntl 1
    uname 1
    [root@emilia ~]#

    Cc: David S. Miller
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Mike Galbraith
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Cc: Tom Zanussi
    LKML-Reference:
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • . Print message at script start telling how to get te summary
    . Print the syscall name using the audit-lib-python package, if
    installed
    . Print the errno string
    . Accept both pid (if numeric) or COMM name

    Now it looks like this:

    [root@emilia ~]# perf trace failed-syscalls-by-pid
    Press control+C to stop and show the summary
    ^C
    syscall errors:

    comm [pid] count
    ------------------------------ ----------

    automount [1670]
    syscall: futex
    err = ETIMEDOUT 39

    irqbalance [1462]
    syscall: openat
    err = ENOENT 4

    perf [7888]
    syscall: lseek
    err = ESPIPE 1
    syscall: open
    err = ENOENT 24

    perf [7889]
    syscall: ioctl
    err = EINVAL 1
    syscall: readlink
    err = EINVAL 2
    syscall: open
    err = ENOENT 389
    syscall: stat
    err = ENOENT 141
    syscall: lseek
    err = ESPIPE 3
    [root@emilia ~]#

    [root@emilia ~]# perf trace failed-syscalls-by-pid 1670
    Press control+C to stop and show the summary
    ^C
    syscall errors:

    comm [pid] count
    ------------------------------ ----------

    automount [1670]
    syscall: futex
    err = ETIMEDOUT 2
    [root@emilia ~]#
    [root@emilia ~]#
    [root@emilia ~]#
    [root@emilia ~]# perf trace failed-syscalls-by-pid automount
    Press control+C to stop and show the summary
    ^C
    syscall errors for automount:

    comm [pid] count
    ------------------------------ ----------

    automount [1669]
    syscall: futex
    err = ETIMEDOUT 1

    automount [1670]
    syscall: futex
    err = ETIMEDOUT 5
    [root@emilia ~]#

    Cc: David S. Miller
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Mike Galbraith
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Cc: Tom Zanussi
    LKML-Reference:
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     

24 Oct, 2010

5 commits


23 Oct, 2010

1 commit

  • We wrap it in libslang.h because we need to deal with older slang release
    where HAVE_LONG_LONG is referenced as:

    So we need to define it.

    Noticed when rebuilding the perf tools on a RHEL5 machine.

    Cc: Frédéric Weisbecker
    Cc: Mike Galbraith
    Cc: Peter Zijlstra
    Cc: Paul Mackerras
    Cc: Stephane Eranian
    LKML-Reference:
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     

22 Oct, 2010

1 commit

  • …git/tip/linux-2.6-tip

    * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (163 commits)
    tracing: Fix compile issue for trace_sched_wakeup.c
    [S390] hardirq: remove pointless header file includes
    [IA64] Move local_softirq_pending() definition
    perf, powerpc: Fix power_pmu_event_init to not use event->ctx
    ftrace: Remove recursion between recordmcount and scripts/mod/empty
    jump_label: Add COND_STMT(), reducer wrappery
    perf: Optimize sw events
    perf: Use jump_labels to optimize the scheduler hooks
    jump_label: Add atomic_t interface
    jump_label: Use more consistent naming
    perf, hw_breakpoint: Fix crash in hw_breakpoint creation
    perf: Find task before event alloc
    perf: Fix task refcount bugs
    perf: Fix group moving
    irq_work: Add generic hardirq context callbacks
    perf_events: Fix transaction recovery in group_sched_in()
    perf_events: Fix bogus AMD64 generic TLB events
    perf_events: Fix bogus context time tracking
    tracing: Remove parent recording in latency tracer graph options
    tracing: Use one prologue for the preempt irqs off tracer function tracers
    ...

    Linus Torvalds