Re: [GIT PULL] tracing: Updates for 5.14
From: Steven Rostedt
Date: Fri Jul 02 2021 - 13:22:00 EST
On Fri, 2 Jul 2021 09:50:47 -0400
Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
> Linus,
Hi Linus,
Please hold off on pulling this. I just noticed that my test machines are
running osnoise threads on boot up. I'm currently debugging why now.
-- Steve
>
> Tracing updates for 5.14:
>
> - Added option for per CPU threads to the hwlat tracer
>
> - Have hwlat tracer handle hotplug CPUs
>
> - New tracer: osnoise, that detects latency caused by interrupts, softirqs
> and scheduling of other tasks.
>
> - Added timerlat tracer that creates a thread and measures in detail what
> sources of latency it has for wake ups.
>
> - Removed the "success" field of the sched_wakeup trace event.
> This has been hardcoded as "1" since 2015, no tooling should be looking
> at it now. If one exists, we can revert this commit, fix that tool and
> try to remove it again in the future.
>
> - tgid mapping fixed to handle more than PID_MAX_DEFAULT pids/tgids.
>
> - New boot command line option "tp_printk_stop", as tp_printk causes trace
> events to write to console. When user space starts, this can easily live
> lock the system. Having a boot option to stop just after boot up is
> useful to prevent that from happening.
>
> - Have ftrace_dump_on_oops boot command line option take numbers that match
> the numbers shown in /proc/sys/kernel/ftrace_dump_on_oops.
>
> - Bootconfig clean ups, fixes and enhancements.
>
> - New ktest script that tests bootconfig options.
>
> - Add tracepoint_probe_register_may_exist() to register a tracepoint
> without triggering a WARN*() if it already exists. BPF has a path from
> user space that can do this. All other paths are considered a bug.
>
> - Small clean ups and fixes
>
>
> Please pull the latest trace-v5.14 tree, which can be found at:
>
>
> git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git
> trace-v5.14
>
> Tag SHA1: fd54c81c736b4d69af9e1dd011c9182c1e529f08
> Head SHA1: 4030a6e6a6a4a42ff8c18414c9e0c93e24cc70b8
>
>
> Austin Kim (1):
> tracing: Change variable type as bool for clean-up
>
> Chunguang Xu (1):
> trace: replace WB_REASON_FOREIGN_FLUSH with a string
>
> Colin Ian King (2):
> tracing: Remove redundant initialization of variable ret
> tracing: Fix spelling in osnoise tracer "interferences" -> "interference"
>
> Daniel Bristot de Oliveira (18):
> trace/hwlat: Fix Clark's email
> trace/hwlat: Implement the mode config option
> trace/hwlat: Switch disable_migrate to mode none
> trace/hwlat: Implement the per-cpu mode
> trace: Add a generic function to read/write u64 values from tracefs
> trace/hwlat: Use trace_min_max_param for width and window params
> trace/hwlat: Remove printk from sampling loop
> trace: Add osnoise tracer
> trace: Add timerlat tracer
> trace/hwlat: Protect kdata->kthread with get/put_online_cpus
> trace/hwlat: Support hotplug operations
> trace/osnoise: Support hotplug operations
> trace/osnoise: Fix 'no previous prototype' warnings
> trace/osnoise: Make interval u64 on osnoise_main
> trace/osnoise: Fix return value on osnoise_init_hotplug_support
> Documentation: Fix a typo on trace/osnoise-tracer
> trace/osnoise: Make 'noise' variable s64 in run_osnoise()
> trace/timerlat: Fix indentation on timerlat_main()
>
> Ed Tsai (1):
> sched/tracing: Remove the redundant 'success' in the sched tracepoint
>
> Hyeonggon Yoo (1):
> tracing: Add WARN_ON_ONCE when returned value is negative
>
> Jiapeng Chong (1):
> tracing: Remove redundant assignment to event_var
>
> Joe Perches (1):
> treewide: Add missing semicolons to __assign_str uses
>
> Masami Hiramatsu (7):
> tracing/boot: Add per-group/all events enablement
> Documentation: tracing: Add per-group/all events enablement desciption
> bootconfig: Change array value to use child node
> bootconfig: Support mixing a value and subkeys under a key
> tools/bootconfig: Support mixed value and subkey test cases
> docs: bootconfig: Update for mixing value and subkeys
> bootconfig: Share the checksum function with tools
>
> Paul Burton (2):
> tracing: Simplify & fix saved_tgids logic
> tracing: Resize tgid_map to pid_max, not PID_MAX_DEFAULT
>
> Qiujun Huang (1):
> tracing: Fix set_named_trigger_data() kernel-doc comment
>
> Steven Rostedt (1):
> trace: Add __print_ns_to_secs() and __print_ns_without_secs() helpers
>
> Steven Rostedt (VMware) (8):
> tracing: Simplify the max length test when using the filtering temp buffer
> tracing: Add better comments for the filtering temp buffer use case
> tracing: Add tp_printk_stop_on_boot option
> tracing: Have ftrace_dump_on_oops kernel parameter take numbers
> bootconfig/tracing/ktest: Add ktest examples of testing bootconfig
> tracing: Add LATENCY_FS_NOTIFY to define if latency_fsnotify() is defined
> tracing: Have osnoise_main() add a quiescent state for task rcu
> tracepoint: Add tracepoint_probe_register_may_exist() for BPF tracing
>
> Wei Ming Chen (1):
> ring-buffer: Use fallthrough pseudo-keyword
>
> Yun Zhou (2):
> seq_buf: Fix overflow in seq_buf_putmem_hex()
> seq_buf: Make trace_seq_putmem_hex() support data longer than 8
>
> zuoqilin (1):
> tools/bootconfig: Simplify expression
>
> ----
> Documentation/admin-guide/bootconfig.rst | 30 +-
> Documentation/admin-guide/kernel-parameters.txt | 13 +
> Documentation/trace/boottime-trace.rst | 6 +
> Documentation/trace/hwlat_detector.rst | 13 +-
> Documentation/trace/index.rst | 2 +
> Documentation/trace/osnoise-tracer.rst | 152 ++
> Documentation/trace/timerlat-tracer.rst | 181 ++
> arch/x86/kernel/Makefile | 1 +
> arch/x86/kernel/trace.c | 234 +++
> drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h | 14 +-
> drivers/gpu/drm/lima/lima_trace.h | 2 +-
> drivers/infiniband/hw/hfi1/trace_misc.h | 4 +-
> drivers/infiniband/hw/hfi1/trace_rc.h | 4 +-
> drivers/infiniband/hw/hfi1/trace_tid.h | 6 +-
> drivers/infiniband/hw/hfi1/trace_tx.h | 8 +-
> drivers/infiniband/sw/rdmavt/trace_cq.h | 4 +-
> drivers/infiniband/sw/rdmavt/trace_mr.h | 2 +-
> drivers/infiniband/sw/rdmavt/trace_qp.h | 4 +-
> drivers/infiniband/sw/rdmavt/trace_rc.h | 2 +-
> drivers/infiniband/sw/rdmavt/trace_tx.h | 4 +-
> drivers/misc/mei/mei-trace.h | 6 +-
> .../net/ethernet/marvell/octeontx2/af/rvu_trace.h | 12 +-
> drivers/net/fjes/fjes_trace.h | 4 +-
> drivers/usb/cdns3/cdnsp-trace.h | 2 +-
> fs/nfs/nfs4trace.h | 6 +-
> fs/nfs/nfstrace.h | 4 +-
> fs/proc/bootconfig.c | 2 +-
> include/linux/bootconfig.h | 58 +-
> include/linux/ftrace_irq.h | 13 +
> include/linux/trace.h | 7 +
> include/linux/tracepoint.h | 10 +
> include/trace/events/btrfs.h | 2 +-
> include/trace/events/dma_fence.h | 4 +-
> include/trace/events/osnoise.h | 142 ++
> include/trace/events/rpcgss.h | 4 +-
> include/trace/events/sched.h | 2 -
> include/trace/events/sunrpc.h | 40 +-
> include/trace/events/writeback.h | 3 +-
> include/trace/trace_events.h | 25 +
> init/main.c | 12 +-
> kernel/trace/Kconfig | 62 +
> kernel/trace/Makefile | 1 +
> kernel/trace/bpf_trace.c | 3 +-
> kernel/trace/ring_buffer.c | 2 +-
> kernel/trace/trace.c | 265 ++-
> kernel/trace/trace.h | 35 +-
> kernel/trace/trace_boot.c | 27 +-
> kernel/trace/trace_entries.h | 41 +
> kernel/trace/trace_events_hist.c | 3 +-
> kernel/trace/trace_events_trigger.c | 3 +-
> kernel/trace/trace_hwlat.c | 534 +++--
> kernel/trace/trace_osnoise.c | 2059 ++++++++++++++++++++
> kernel/trace/trace_output.c | 119 +-
> kernel/trace/trace_sched_wakeup.c | 24 +-
> kernel/tracepoint.c | 33 +-
> lib/bootconfig.c | 76 +-
> lib/seq_buf.c | 8 +-
> tools/bootconfig/main.c | 64 +-
> tools/bootconfig/samples/bad-override.bconf | 3 -
> tools/bootconfig/samples/bad-override2.bconf | 3 -
> tools/bootconfig/samples/good-mixed-append.bconf | 4 +
> .../{bad-mixed-kv1.bconf => good-mixed-kv1.bconf} | 0
> .../{bad-mixed-kv2.bconf => good-mixed-kv2.bconf} | 0
> tools/bootconfig/samples/good-mixed-kv3.bconf | 6 +
> tools/bootconfig/samples/good-mixed-override.bconf | 4 +
> .../ktest/examples/bootconfigs/boottrace.bconf | 49 +
> .../ktest/examples/bootconfigs/config-bootconfig | 1 +
> .../ktest/examples/bootconfigs/functiongraph.bconf | 15 +
> .../ktest/examples/bootconfigs/tracing.bconf | 33 +
> .../ktest/examples/bootconfigs/verify-boottrace.sh | 84 +
> .../examples/bootconfigs/verify-functiongraph.sh | 61 +
> .../ktest/examples/bootconfigs/verify-tracing.sh | 72 +
> .../testing/ktest/examples/include/bootconfig.conf | 69 +
> tools/testing/ktest/examples/kvm.conf | 1 +
> 74 files changed, 4439 insertions(+), 369 deletions(-)
> create mode 100644 Documentation/trace/osnoise-tracer.rst
> create mode 100644 Documentation/trace/timerlat-tracer.rst
> create mode 100644 arch/x86/kernel/trace.c
> create mode 100644 include/trace/events/osnoise.h
> create mode 100644 kernel/trace/trace_osnoise.c
> delete mode 100644 tools/bootconfig/samples/bad-override.bconf
> delete mode 100644 tools/bootconfig/samples/bad-override2.bconf
> create mode 100644 tools/bootconfig/samples/good-mixed-append.bconf
> rename tools/bootconfig/samples/{bad-mixed-kv1.bconf => good-mixed-kv1.bconf} (100%)
> rename tools/bootconfig/samples/{bad-mixed-kv2.bconf => good-mixed-kv2.bconf} (100%)
> create mode 100644 tools/bootconfig/samples/good-mixed-kv3.bconf
> create mode 100644 tools/bootconfig/samples/good-mixed-override.bconf
> create mode 100644 tools/testing/ktest/examples/bootconfigs/boottrace.bconf
> create mode 100644 tools/testing/ktest/examples/bootconfigs/config-bootconfig
> create mode 100644 tools/testing/ktest/examples/bootconfigs/functiongraph.bconf
> create mode 100644 tools/testing/ktest/examples/bootconfigs/tracing.bconf
> create mode 100755 tools/testing/ktest/examples/bootconfigs/verify-boottrace.sh
> create mode 100755 tools/testing/ktest/examples/bootconfigs/verify-functiongraph.sh
> create mode 100755 tools/testing/ktest/examples/bootconfigs/verify-tracing.sh
> create mode 100644 tools/testing/ktest/examples/include/bootconfig.conf
> ---------------------------