perf/core improvements and fixes:

perf record:
 
   Ravi Bangoria:
 
   - Provide an option to print perf_event_open args and syscall return value.
     This was already possible using -v, but then lots of other debug info
     would be output as well, provide a way to show just the syscall args
     and return value, e.g.:
 
       # perf --debug perf-event-open=1 record
       perf_event_attr:
         size                             112
         { sample_period, sample_freq }   4000
         sample_type                      IP|TID|TIME|PERIOD
         read_format                      ID
         disabled                         1
         inherit                          1
       <SNIP>
         ksymbol                          1
         bpf_event                        1
       ------------------------------------------------------------
       sys_perf_event_open: pid 4308  cpu 0  group_fd -1  flags 0x8 = 4
 
 core:
 
 - Remove map->groups, we can get that information in other ways, reduces
   the size of a key data structure and paves the way to have it shared
   by multiple threads.
 
 - Use 'struct map_symbol' in more places, where we already were using a
   'struct map' + 'struct symbol', this helps passing that usual pair of
   information across callchain, browser code, etc.
 
 - Add 'struct map_groups' (where the map_symbol->map is) to 'struct map_symbol',
   to ease annotation code, for instance, where we call from functions in one map
   we're browsing to functions in another DSO, mapped in another 'struct map'.
 
 event parsing:
 
   Ian Rogers:
 
   - Use YYABORT to clear stack after failure, plugging leaks
 
 Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQR2GiIUctdOfX2qHhGyPKLppCJ+JwUCXcrz4AAKCRCyPKLppCJ+
 J5HsAQCq3T5bSxa9OxC5w/+Gu4I+bhSlrUvSpzW9ymOaRDDdQAD/WwEcy+Z9OeKI
 Hd4hwALG7CkNH74bU7SKASFwZvrukgk=
 =G4y0
 -----END PGP SIGNATURE-----

Merge tag 'perf-core-for-mingo-5.5-20191112' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core

Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:

perf record:

  Ravi Bangoria:

  - Provide an option to print perf_event_open args and syscall return value.
    This was already possible using -v, but then lots of other debug info
    would be output as well, provide a way to show just the syscall args
    and return value, e.g.:

      # perf --debug perf-event-open=1 record
      perf_event_attr:
        size                             112
        { sample_period, sample_freq }   4000
        sample_type                      IP|TID|TIME|PERIOD
        read_format                      ID
        disabled                         1
        inherit                          1
      <SNIP>
        ksymbol                          1
        bpf_event                        1
      ------------------------------------------------------------
      sys_perf_event_open: pid 4308  cpu 0  group_fd -1  flags 0x8 = 4

core:

- Remove map->groups, we can get that information in other ways, reduces
  the size of a key data structure and paves the way to have it shared
  by multiple threads.

- Use 'struct map_symbol' in more places, where we already were using a
  'struct map' + 'struct symbol', this helps passing that usual pair of
  information across callchain, browser code, etc.

- Add 'struct map_groups' (where the map_symbol->map is) to 'struct map_symbol',
  to ease annotation code, for instance, where we call from functions in one map
  we're browsing to functions in another DSO, mapped in another 'struct map'.

event parsing:

  Ian Rogers:

  - Use YYABORT to clear stack after failure, plugging leaks

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
Ingo Molnar 2019-11-15 08:33:54 +01:00
commit b0aeb45bad
39 changed files with 347 additions and 358 deletions