Find a file
Linus Torvalds bbdbeb0048 perf tools changes for v5.16:
perf annotate:
 
 - Add riscv64 support.
 
 - Add fusion logic for AMD microarchs.
 
 perf record:
 
 - Add an option to control the synthesizing behavior:
 
     --synth <no|all|task|mmap|cgroup>
                       Fine-tune event synthesis: default=all
 
 core:
 
 - Allow controlling synthesizing PERF_RECORD_ metadata events during record.
 
 - perf.data reader prep work for multithreaded processing.
 
 - Fix missing exclude_{host,guest} setting in PMUs that don't support it and
   that were causing the feature detection code to disable it for all events,
   even the ones in PMUs that support it.
 
 - Fix the default use of precise events on AMD, that were always falling back
   to non-precise because perf_event_attr.exclude_guest=1 was set and IBS does
   not have filtering capability, refusing precise + exclude_guest.
 
 - Add bitfield_swap() to handle branch_stack endian issue.
 
 perf script:
 
 - Show binary offsets for userspace addresses in callchains.
 
 - Support instruction latency via new "ins_lat" selectable field.
 
 - Add dlfilter-show-cycles
 
 perf inject:
 
 - Add vmlinux and ignore-vmlinux arguments, similar to other tools.
 
 perf list:
 
 - Display PMU prefix for partially supported hybrid cache events.
 
 - Display hybrid PMU events with cpu type.
 
 perf stat:
 
 - Improve metrics documentation of data structures.
 
 - Fix memory leaks in the metric code.
 
 - Use NAN for missing event IDs.
 
 - Don't compute unused events.
 
 - Fix memory leak on error path.
 
 - Encode and use metric-id as a metric qualifier.
 
 - Allow metrics with no events.
 
 - Avoid events for an 'if' constant result.
 
 - Only add a referenced metric once.
 
 - Simplify metric_refs calculation.
 
 - Allow modifiers on metrics.
 
 perf test:
 
 - Add workload test of metric and metric groups.
 
 - Workload test of all PMUs.
 
 - vmlinux-kallsyms: Ignore hidden symbols.
 
 - Add pmu-event test for event described as "config=".
 
 - Verify more event members in pmu-events test.
 
 - Add endian test for struct branch_flags on the sample-parsing test.
 
 - Improve temp file cleanup in several tests.
 
 perf daemon:
 
 - Address MSAN warnings on send_cmd().
 
 perf kmem:
 
 - Improve man page for record options
 
 perf srcline:
 
 - Use long-running addr2line per DSO, greatly speeding up the 'srcline' sort order.
 
 perf symbols:
 
 - Ignore $a/$d symbols for ARM modules.
 
 - Fix /proc/kcore access on 32 bit systems.
 
 Kernel UAPI copies:
 
 - Update copy of linux/socket.h with the kernel sources, no change in tooling output.
 
 libbpf:
 
 - Pull in bpf_program__get_prog_info_linear() from libbpf, too much specific to perf.
 
 - Deprecate bpf_map__resize() in favor of bpf_map_set_max_entries()
 
 - Install libbpf headers locally when building.
 
 - Bump minimum LLVM C++ std to GNU++14.
 
 libperf:
 
 - Use binary search in perf_cpu_map__idx() as array are sorted.
 
 libtracefs:
 
 - Enable libtracefs dynamic linking.
 
 libtraceevent:
 
 - Increase logging when verbose.
 
 Arch specific:
 
 PowerPC:
 
 - Add support to expose instruction and data address registers as part of
   extended regs.
 
 Vendor events:
 
 JSON parser:
 
 - Support ConfigCode to set the config= in PMUs like:
 
   $ cat /sys/bus/event_source/devices/hisi_sccl1_ddrc3/events/act_cmd
   config=0x5
 
 - Make the JSON parser more conformant when in strict mode.
 
 All JSON files:
 
 - Fix all remaining invalid JSON files.
 
 ARM:
 
 - Syntax corrections in Neoverse N1 json.
 
 - Categorise the Neoverse V1 counters.
 
 - Add new armv8 PMU events.
 
 - Revise hip08 uncore events.
 
 Hardware tracing:
 
 auxtrace:
 
 - Add missing Z option to ITRACE_HELP.
 
 - Add itrace A option to approximate IPC.
 
 - Add itrace d+o option to direct debug log to stdout.
 
 Intel PT:
 
 - Add support for PERF_RECORD_AUX_OUTPUT_HW_ID
 
 - Support itrace A option to approximate IPC
 
 - Support itrace d+o option to direct debug log to stdout.
 
 Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQR2GiIUctdOfX2qHhGyPKLppCJ+JwUCYYg7RwAKCRCyPKLppCJ+
 J1KgAQCGC3802gsI38/xwli1SLBNHsZ9DEy2nX5Ikw/f64K+0QEA6DsU0hpRTR0D
 i8ZFa2zNX748n+pU2WX6E7AjO01hrQo=
 =sXHg
 -----END PGP SIGNATURE-----

Merge tag 'perf-tools-for-v5.16-2021-11-07-without-bpftool-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux

Pull perf tools updates from Arnaldo Carvalho de Melo:
 "perf annotate:
   - Add riscv64 support.
   - Add fusion logic for AMD microarchs.

  perf record:
   - Add an option to control the synthesizing behavior:
       --synth <no|all|task|mmap|cgroup>

  core:
   - Allow controlling synthesizing PERF_RECORD_ metadata events during
     record.
   - perf.data reader prep work for multithreaded processing.
   - Fix missing exclude_{host,guest} setting in PMUs that don't support
     it and that were causing the feature detection code to disable it
     for all events, even the ones in PMUs that support it.
   - Fix the default use of precise events on AMD, that were always
     falling back to non-precise because perf_event_attr.exclude_guest=1
     was set and IBS does not have filtering capability, refusing
     precise + exclude_guest.
   - Add bitfield_swap() to handle branch_stack endian issue.

  perf script:
   - Show binary offsets for userspace addresses in callchains.
   - Support instruction latency via new "ins_lat" selectable field.
   - Add dlfilter-show-cycles

  perf inject:
   - Add vmlinux and ignore-vmlinux arguments, similar to other tools.

  perf list:
   - Display PMU prefix for partially supported hybrid cache events.
   - Display hybrid PMU events with cpu type.

  perf stat:
   - Improve metrics documentation of data structures.
   - Fix memory leaks in the metric code.
   - Use NAN for missing event IDs.
   - Don't compute unused events.
   - Fix memory leak on error path.
   - Encode and use metric-id as a metric qualifier.
   - Allow metrics with no events.
   - Avoid events for an 'if' constant result.
   - Only add a referenced metric once.
   - Simplify metric_refs calculation.
   - Allow modifiers on metrics.

  perf test:
   - Add workload test of metric and metric groups.
   - Workload test of all PMUs.
   - vmlinux-kallsyms: Ignore hidden symbols.
   - Add pmu-event test for event described as "config=".
   - Verify more event members in pmu-events test.
   - Add endian test for struct branch_flags on the sample-parsing test.
   - Improve temp file cleanup in several tests.

  perf daemon:
   - Address MSAN warnings on send_cmd().

  perf kmem:
   - Improve man page for record options

  perf srcline:
   - Use long-running addr2line per DSO, greatly speeding up the
     'srcline' sort order.

  perf symbols:
   - Ignore $a/$d symbols for ARM modules.
   - Fix /proc/kcore access on 32 bit systems.

  Kernel UAPI copies:
   - Update copy of linux/socket.h with the kernel sources, no change in
     tooling output.

  libbpf:
   - Pull in bpf_program__get_prog_info_linear() from libbpf, too much
     specific to perf.
   - Deprecate bpf_map__resize() in favor of bpf_map_set_max_entries()
   - Install libbpf headers locally when building.
   - Bump minimum LLVM C++ std to GNU++14.

  libperf:
   - Use binary search in perf_cpu_map__idx() as array are sorted.

  libtracefs:
   - Enable libtracefs dynamic linking.

  libtraceevent:
   - Increase logging when verbose.

  Arch specific:

   * PowerPC:
      - Add support to expose instruction and data address registers as
        part of extended regs.

  Vendor events:

   * JSON parser:
      - Support ConfigCode to set the config= in PMUs
      - Make the JSON parser more conformant when in strict mode.

   * All JSON files:
      - Fix all remaining invalid JSON files.

   * ARM:
      - Syntax corrections in Neoverse N1 json.
      - Categorise the Neoverse V1 counters.
      - Add new armv8 PMU events.
      - Revise hip08 uncore events.

  Hardware tracing:

   * auxtrace:
      - Add missing Z option to ITRACE_HELP.
      - Add itrace A option to approximate IPC.
      - Add itrace d+o option to direct debug log to stdout.

   * Intel PT:
      - Add support for PERF_RECORD_AUX_OUTPUT_HW_ID
      - Support itrace A option to approximate IPC
      - Support itrace d+o option to direct debug log to stdout"

* tag 'perf-tools-for-v5.16-2021-11-07-without-bpftool-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux: (120 commits)
  perf build: Install libbpf headers locally when building
  perf MANIFEST: Add bpftool files to allow building with BUILD_BPF_SKEL=1
  perf metric: Fix memory leaks
  perf parse-event: Add init and exit to parse_event_error
  perf parse-events: Rename parse_events_error functions
  perf stat: Fix memory leak on error path
  perf tools: Use __BYTE_ORDER__
  perf inject: Add vmlinux and ignore-vmlinux arguments
  perf tools: Check vmlinux/kallsyms arguments in all tools
  perf tools: Refactor out kernel symbol argument sanity checking
  perf symbols: Ignore $a/$d symbols for ARM modules
  perf evsel: Don't set exclude_guest by default
  perf evsel: Fix missing exclude_{host,guest} setting
  perf bpf: Add missing free to bpf_event__print_bpf_prog_info()
  perf beauty: Update copy of linux/socket.h with the kernel sources
  perf clang: Fixes for more recent LLVM/clang
  tools: Bump minimum LLVM C++ std to GNU++14
  perf bpf: Pull in bpf_program__get_prog_info_linear()
  Revert "perf bench futex: Add support for 32-bit systems with 64-bit time_t"
  perf test sample-parsing: Add endian test for struct branch_flags
  ...
2021-11-08 09:25:26 -08:00
arch Kbuild updates for v5.16 2021-11-08 09:15:45 -08:00
block for-5.16/inode-sync-2021-10-29 2021-11-01 10:25:27 -07:00
certs certs: Add support for using elliptic curve keys for signing modules 2021-08-23 19:55:42 +03:00
crypto Kbuild updates for v5.16 2021-11-08 09:15:45 -08:00
Documentation Kbuild updates for v5.16 2021-11-08 09:15:45 -08:00
drivers Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2021-11-07 10:52:04 -08:00
fs 7 cifs/smb3 fixes, mostly refactoring, but also a mount fix, a debugging improvement, and a reconnect fix for stable 2021-11-06 16:47:53 -07:00
include Auxdisplay improvements: 2021-11-07 10:47:27 -08:00
init Merge branch 'akpm' (patches from Andrew) 2021-11-06 14:08:17 -07:00
ipc ipc: remove memcg accounting for sops objects in do_semtimedop() 2021-09-14 10:22:11 -07:00
kernel modules patches for 5.16-rc1 2021-11-08 09:04:59 -08:00
lib Kbuild updates for v5.16 2021-11-08 09:15:45 -08:00
LICENSES LICENSES/dual/CC-BY-4.0: Git rid of "smart quotes" 2021-07-15 06:31:24 -06:00
mm Merge branch 'akpm' (patches from Andrew) 2021-11-06 14:08:17 -07:00
net Merge branch 'akpm' (patches from Andrew) 2021-11-06 14:08:17 -07:00
samples Add gitignore file for samples/fanotify/ subdirectory 2021-11-07 11:19:24 -08:00
scripts Kbuild updates for v5.16 2021-11-08 09:15:45 -08:00
security Merge branch 'akpm' (patches from Andrew) 2021-11-06 14:08:17 -07:00
sound TTY / Serial driver update for 5.16-rc1 2021-11-04 09:09:37 -07:00
tools perf tools changes for v5.16: 2021-11-08 09:25:26 -08:00
usr initramfs: Check timestamp to prevent broken cpio archive 2021-10-24 13:48:40 +09:00
virt kvm: irqfd: avoid update unmodified entries of the routing 2021-09-30 04:27:10 -04:00
.clang-format clang-format: Update with the latest for_each macro list 2021-05-12 23:32:39 +02:00
.cocciconfig
.get_maintainer.ignore Opt out of scripts/get_maintainer.pl 2019-05-16 10:53:40 -07:00
.gitattributes .gitattributes: use 'dts' diff driver for dts files 2019-12-04 19:44:11 -08:00
.gitignore .gitignore: ignore only top-level modules.builtin 2021-05-02 00:43:35 +09:00
.mailmap ARM: SoC DT updates for v5.16 2021-11-03 16:56:03 -07:00
COPYING COPYING: state that all contributions really are covered by this file 2020-02-10 13:32:20 -08:00
CREDITS MAINTAINERS: Move Daniel Drake to credits 2021-09-21 08:34:58 +03:00
Kbuild kbuild: rename hostprogs-y/always to hostprogs/always-y 2020-02-04 01:53:07 +09:00
Kconfig kbuild: ensure full rebuild when the compiler is updated 2020-05-12 13:28:33 +09:00
MAINTAINERS Auxdisplay improvements: 2021-11-07 10:47:27 -08:00
Makefile Kbuild updates for v5.16 2021-11-08 09:15:45 -08: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.