Thomas Gleixner cfb104ca8a perf/core improvements and fixes:
report/script/trace/top:
 
   Arnaldo Carvalho de Melo:
 
   - Allow specifying marker events demarcating when to consider the other events,
     i.e. one now can state something like:
 
         # perf probe kernel_function
         # perf record -e cycles,probe:kernel_function
 
     And then, in 'perf script' or 'perf report' say:
 
         # perf report --switch-on=probe:kernel_function
 
     And then the cycles event samples will be considered only after we
     find the first probe:kernel_function event.
 
     There is also --switch-off=event, to make it stop considering events
     out of some window, say to avoid some winding down of a workload.
 
     The same can be done with the "live mode" tools: 'perf top' and 'perf trace'.
 
     There are examples in the cset comments showing how to use it with
     SDT events in things like 'systemtap', that have those tracepoint-like
     events for the start/end of passes, etc.
 
     Another example involves selecting scheduler events + entry/exit of
     a syscall, using the syscalls tracepoints, one can then see the
     scheduler events that take place while that syscall is being processed.
 
     In the future this should be possible in record/top/trace via eBPF
     where the perf tools would hook into the marker events and enable events
     put in place but not enabled when the on/off conditions are the desired
     ones, reducing the amount of events sampled, but this userspace only
     solution should be good enough for many scenarios.
 
 perf vendor events intel:
 
   Haiyan Song:
 
   - Add Tremontx event file v1.02.
 
 unwind:
 
   John Keeping:
 
   - Fix callchain unwinding when tid != pid, that was working only for the
     thread group leader.
 
 Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQR2GiIUctdOfX2qHhGyPKLppCJ+JwUCXVcMPgAKCRCyPKLppCJ+
 J6ipAP9F5+TitM1zln/wUUP7/Ug4ZPDsdvA+Ggc8x0Ns7URJQwD/RHk43MgDC1fG
 VXbpQ7byj339Wo7SpjadzLl9xPlh/Qw=
 =IaYE
 -----END PGP SIGNATURE-----
 
 commit e2736219e6ca3117e10651e215b96d66775220da
 Author: John Keeping <john@metanate.com>
 Date:   Thu Aug 15 11:01:46 2019 +0100
 
     perf unwind: Remove unnecessary test
 
     If dwarf_callchain_users is false, then unwind__prepare_access() will
     not set unwind_libunwind_ops so the remaining test here is sufficient.
 
     Signed-off-by: John Keeping <john@metanate.com>
     Reviewed-by: Jiri Olsa <jolsa@kernel.org>
     Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
     Cc: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
     Cc: Namhyung Kim <namhyung@kernel.org>
     Cc: Peter Zijlstra <peterz@infradead.org>
     Cc: john keeping <john@metanate.com>
     Link: http://lkml.kernel.org/r/20190815100146.28842-3-john@metanate.com
     Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
 
 diff --git a/tools/perf/util/unwind-libunwind.c b/tools/perf/util/unwind-libunwind.c
 index b843f9d0a9ea..6499b22b158b 100644
 --- a/tools/perf/util/unwind-libunwind.c
 +++ b/tools/perf/util/unwind-libunwind.c
 @@ -69,18 +69,12 @@ int unwind__prepare_access(struct map_groups *mg, struct map *map,
 
  void unwind__flush_access(struct map_groups *mg)
  {
 -	if (!dwarf_callchain_users)
 -		return;
 -
  	if (mg->unwind_libunwind_ops)
  		mg->unwind_libunwind_ops->flush_access(mg);
  }
 
  void unwind__finish_access(struct map_groups *mg)
  {
 -	if (!dwarf_callchain_users)
 -		return;
 -
  	if (mg->unwind_libunwind_ops)
  		mg->unwind_libunwind_ops->finish_access(mg);
  }
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQR2GiIUctdOfX2qHhGyPKLppCJ+JwUCXVcNQwAKCRCyPKLppCJ+
 J6KaAP46OWfi8MmO42+nRnsOY46jI1dLYZCtD+VTENOdT4Zw/AEA6GSxFGDKEpHX
 yQRfAWf80aSSWDxnwvn35w/BskdYows=
 =C35B
 -----END PGP SIGNATURE-----

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

Pull perf/core improvements and fixes from Arnaldo:

report/script/trace/top:

  Arnaldo Carvalho de Melo:

  - Allow specifying marker events demarcating when to consider the other events,
    i.e. one now can state something like:

        # perf probe kernel_function
        # perf record -e cycles,probe:kernel_function

    And then, in 'perf script' or 'perf report' say:

        # perf report --switch-on=probe:kernel_function

    And then the cycles event samples will be considered only after we
    find the first probe:kernel_function event.

    There is also --switch-off=event, to make it stop considering events
    out of some window, say to avoid some winding down of a workload.

    The same can be done with the "live mode" tools: 'perf top' and 'perf trace'.

    There are examples in the cset comments showing how to use it with
    SDT events in things like 'systemtap', that have those tracepoint-like
    events for the start/end of passes, etc.

    Another example involves selecting scheduler events + entry/exit of
    a syscall, using the syscalls tracepoints, one can then see the
    scheduler events that take place while that syscall is being processed.

    In the future this should be possible in record/top/trace via eBPF
    where the perf tools would hook into the marker events and enable events
    put in place but not enabled when the on/off conditions are the desired
    ones, reducing the amount of events sampled, but this userspace only
    solution should be good enough for many scenarios.

perf vendor events intel:

  Haiyan Song:

  - Add Tremontx event file v1.02.

unwind:

  John Keeping:

  - Fix callchain unwinding when tid != pid, that was working only for the
    thread group leader.

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-----BEGIN PGP SIGNATURE-----

iHUEABYIAB0WIQR2GiIUctdOfX2qHhGyPKLppCJ+JwUCXVcMPgAKCRCyPKLppCJ+
J6ipAP9F5+TitM1zln/wUUP7/Ug4ZPDsdvA+Ggc8x0Ns7URJQwD/RHk43MgDC1fG
VXbpQ7byj339Wo7SpjadzLl9xPlh/Qw=
=IaYE
-----END PGP SIGNATURE-----

commit e2736219e6ca3117e10651e215b96d66775220da
Author: John Keeping <john@metanate.com>
Date:   Thu Aug 15 11:01:46 2019 +0100

    perf unwind: Remove unnecessary test

    If dwarf_callchain_users is false, then unwind__prepare_access() will
    not set unwind_libunwind_ops so the remaining test here is sufficient.

    Signed-off-by: John Keeping <john@metanate.com>
    Reviewed-by: Jiri Olsa <jolsa@kernel.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: john keeping <john@metanate.com>
    Link: http://lkml.kernel.org/r/20190815100146.28842-3-john@metanate.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

diff --git a/tools/perf/util/unwind-libunwind.c b/tools/perf/util/unwind-libunwind.c
index b843f9d0a9ea..6499b22b158b 100644
--- a/tools/perf/util/unwind-libunwind.c
+++ b/tools/perf/util/unwind-libunwind.c
@@ -69,18 +69,12 @@ int unwind__prepare_access(struct map_groups *mg, struct map *map,

 void unwind__flush_access(struct map_groups *mg)
 {
-	if (!dwarf_callchain_users)
-		return;
-
 	if (mg->unwind_libunwind_ops)
 		mg->unwind_libunwind_ops->flush_access(mg);
 }

 void unwind__finish_access(struct map_groups *mg)
 {
-	if (!dwarf_callchain_users)
-		return;
-
 	if (mg->unwind_libunwind_ops)
 		mg->unwind_libunwind_ops->finish_access(mg);
 }
2019-08-16 22:43:42 +02:00
2019-08-10 16:31:47 -07:00
2019-07-11 15:40:06 -07:00
2019-08-10 16:31:47 -07:00
2019-08-11 13:15:10 -07:00
2019-08-02 18:40:49 -07:00
2019-08-09 09:21:27 -07:00
2019-08-09 16:53:50 +02:00
2019-07-22 14:57:50 +01:00
2019-07-19 12:22:04 -07:00
2019-03-10 17:48:21 -07:00
2019-08-10 12:24:20 -07:00
2019-08-11 13:26:41 -07:00

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.
Description
No description provided
Readme 5.7 GiB
Languages
C 97.6%
Assembly 1%
Shell 0.5%
Python 0.3%
Makefile 0.3%