Fork of alistair23 Linux kernel for reMarkable from https://github.com/alistair23/linux
Go to file
Ingo Molnar 29995d296e perf/urgent improvements and fixes:
- Fixes dealing with the removal of the fallback to looking up samples
   marked as userspace in the kernel maps, done recently:
 
   - For intel-pt, that was setting the synthesized header misc field
     as PERF_RECORD_MISC_USER, depending thus on the fallback to take
     place, now it sets as USER or KERNEL according to x86 specific
     knowledge. Also now it inserts the PERF_CONTEXT_{USER,KERNEL} into
     the PERF_SAMPLE_CALLCHAINs it synthesizes from hw traces (Adrian Hunter)
 
   - Similar fixes for the cs-etm ARM HW trace code, that used the Intel PT
     model as a starting point (Leo Yan)
 
   - For the "caller" callchain order, where the callchain returned by the
     kernel was simply reversed without taking into account the
     PERF_CONTEXT_{USER,KERNEL,etc} markers from where to define if an entry
     was for kernel or userspace, working just because the map lookup fallback
     was in place (David S. Miller)
 
 - Allow for selecting if 'overwrite' mode should be used in 'perf top' and
   make the default for it not to be used. This is due to problems with the
   current implementation where the pausing used ends up making 'perf top'
   miss PERF_RECORD_{MMAP,FORK,EXEC,etc} events, which with short lifetime
   threads workloads leads quickly to many "unknown" maps (and thus symbols)
   to appear in the UI. Workloads with long thread lifetimes and with few
   metadata events can still use --overwrite to take advantage of the
   overwrite mode (Arnaldo Carvalho de Melo)
 
 - Start 'perf top''s display thread earlier, so that the screen doesn't
   remain blank for too long at tool start (David S. Miller)
 
 - Don't clone maps from parent when synthesizing forks, to avoid the inevitable
   flurry of overlapping maps as we process the synthesized MMAP2 events that get
   delivered shortly thereafter. (David S. Miller)
 
 - Take pgoff into account when reporting elf to libdwfl, now the unwinding
   results are the same with elfutils's libdwfl and libunwind (Milian Wolff)
 
 - Update lotsa kernel ABI headers (Arnaldo Carvalho de Melo)
 
 - 'perf trace' syscall arg beautification improvements to allow for
   handling args such as mount's 'flags', where maks have to be ignored
   before considering what is left, that, if only zeroes, is suppressed
   like other args without such masks (Arnaldo Carvalho de Melo)
 
 - Beautify mount's 'source' and 'flags' args (Arnaldo Carvalho de Melo)
 
 - Generate mmap's flags bit constants from linux/mman.h and all the
   arch specific mman.h files, so that no changes in the main 'perf trace'
   source files is required when new flags get added (Arnaldo Carvalho de Melo)
 
 - Consider syscall aliases, so that 'perf trace -e umount' works and we don't
   have to use 'umount2' (that works as well, just not required) (Arnaldo Carvalho de Melo)
 
 Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQR2GiIUctdOfX2qHhGyPKLppCJ+JwUCW9nYxQAKCRCyPKLppCJ+
 J+L1AQCYddnP+10DKmX1AANnFZrnhwpNuXSXmsa1Ar1npLdDLQD9H/v8EOdqQ4f8
 ckoYhlgw7+R/QANS5C4J2aalCbvQ2Qc=
 =uYi2
 -----END PGP SIGNATURE-----

Merge tag 'perf-urgent-for-mingo-4.20-20181031' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent

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

- Fixes dealing with the removal of the fallback to looking up samples
  marked as userspace in the kernel maps, done recently:

  - For intel-pt, that was setting the synthesized header misc field
    as PERF_RECORD_MISC_USER, depending thus on the fallback to take
    place, now it sets as USER or KERNEL according to x86 specific
    knowledge. Also now it inserts the PERF_CONTEXT_{USER,KERNEL} into
    the PERF_SAMPLE_CALLCHAINs it synthesizes from hw traces (Adrian Hunter)

  - Similar fixes for the cs-etm ARM HW trace code, that used the Intel PT
    model as a starting point (Leo Yan)

  - For the "caller" callchain order, where the callchain returned by the
    kernel was simply reversed without taking into account the
    PERF_CONTEXT_{USER,KERNEL,etc} markers from where to define if an entry
    was for kernel or userspace, working just because the map lookup fallback
    was in place (David S. Miller)

- Allow for selecting if 'overwrite' mode should be used in 'perf top' and
  make the default for it not to be used. This is due to problems with the
  current implementation where the pausing used ends up making 'perf top'
  miss PERF_RECORD_{MMAP,FORK,EXEC,etc} events, which with short lifetime
  threads workloads leads quickly to many "unknown" maps (and thus symbols)
  to appear in the UI. Workloads with long thread lifetimes and with few
  metadata events can still use --overwrite to take advantage of the
  overwrite mode (Arnaldo Carvalho de Melo)

- Start 'perf top''s display thread earlier, so that the screen doesn't
  remain blank for too long at tool start (David S. Miller)

- Don't clone maps from parent when synthesizing forks, to avoid the inevitable
  flurry of overlapping maps as we process the synthesized MMAP2 events that get
  delivered shortly thereafter. (David S. Miller)

- Take pgoff into account when reporting elf to libdwfl, now the unwinding
  results are the same with elfutils's libdwfl and libunwind (Milian Wolff)

- Update lotsa kernel ABI headers (Arnaldo Carvalho de Melo)

- 'perf trace' syscall arg beautification improvements to allow for
  handling args such as mount's 'flags', where maks have to be ignored
  before considering what is left, that, if only zeroes, is suppressed
  like other args without such masks (Arnaldo Carvalho de Melo)

- Beautify mount's 'source' and 'flags' args (Arnaldo Carvalho de Melo)

- Generate mmap's flags bit constants from linux/mman.h and all the
  arch specific mman.h files, so that no changes in the main 'perf trace'
  source files is required when new flags get added (Arnaldo Carvalho de Melo)

- Consider syscall aliases, so that 'perf trace -e umount' works and we don't
  have to use 'umount2' (that works as well, just not required) (Arnaldo Carvalho de Melo)

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-10-31 22:53:40 +01:00
arch Merge branch 'akpm' (patches from Andrew) 2018-10-26 19:33:41 -07:00
block Merge branch 'akpm' (patches from Andrew) 2018-10-26 19:33:41 -07:00
certs export.h: remove VMLINUX_SYMBOL() and VMLINUX_SYMBOL_STR() 2018-08-22 23:21:44 +09:00
crypto Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2018-10-25 16:43:35 -07:00
Documentation Merge branch 'akpm' (patches from Andrew) 2018-10-26 19:33:41 -07:00
drivers i2c-hid: properly terminate i2c_hid_dmi_desc_override_table[] array 2018-10-27 09:10:48 -07:00
firmware kbuild: remove all dummy assignments to obj- 2017-11-18 11:46:06 +09:00
fs Merge branch 'akpm' (patches from Andrew) 2018-10-26 19:33:41 -07:00
include perf tools: Don't clone maps from parent when synthesizing forks 2018-10-31 10:18:01 -03:00
init psi: cgroup support 2018-10-26 16:26:32 -07:00
ipc Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2018-10-25 11:14:36 -07:00
kernel perf/core: Clean up inconsisent indentation 2018-10-30 09:51:58 +01:00
lib Merge branch 'akpm' (patches from Andrew) 2018-10-26 19:33:41 -07:00
LICENSES This is a fairly typical cycle for documentation. There's some welcome 2018-10-24 18:01:11 +01:00
mm hugetlbfs: dirty pages as they are added to pagecache 2018-10-26 16:38:16 -07:00
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-10-26 19:25:07 -07:00
samples Char/Misc driver patches for 4.20-rc1 2018-10-26 09:11:43 -07:00
scripts Merge branch 'akpm' (patches from Andrew) 2018-10-26 19:33:41 -07:00
security Merge branch 'next-loadpin' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security 2018-10-25 13:32:00 -07:00
sound sound updates for 4.20 2018-10-25 09:00:15 -07:00
tools perf intel-pt/bts: Calculate cpumode for synthesized samples 2018-10-31 12:56:26 -03:00
usr initramfs: move gen_initramfs_list.sh from scripts/ to usr/ 2018-08-22 23:21:44 +09:00
virt Revert "mm, mmu_notifier: annotate mmu notifiers with blockable invalidate callbacks" 2018-10-26 16:25:19 -07:00
.clang-format clang-format: Set IndentWrappedFunctionNames false 2018-08-01 18:38:51 +02:00
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore Kbuild updates for v4.17 (2nd) 2018-04-15 17:21:30 -07:00
.mailmap libnvdimm-for-4.19_misc 2018-08-25 18:13:10 -07:00
COPYING COPYING: use the new text with points to the license files 2018-03-23 12:41:45 -06:00
CREDITS 9p: remove Ron Minnich from MAINTAINERS 2018-08-17 16:20:26 -07:00
Kbuild
Kconfig kconfig: move the "Executable file formats" menu to fs/Kconfig.binfmt 2018-08-02 08:06:55 +09:00
MAINTAINERS Char/Misc driver patches for 4.20-rc1 2018-10-26 09:11:43 -07:00
Makefile Devicetree updates for 4.20: 2018-10-26 12:09:58 -07:00
README Drop all 00-INDEX files from Documentation/ 2018-09-09 15:08:58 -06: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.