Messages in this thread | | | Date | Fri, 2 Jul 2021 09:50:47 -0400 | From | Steven Rostedt <> | Subject | [GIT PULL] tracing: Updates for 5.14 |
| |
Linus,
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 ---------------------------
| |