[GIT PULL] tracing: Changes for 5.6
From: Steven Rostedt
Date: Tue Feb 04 2020 - 05:32:05 EST
Linus,
Tracing updates:
- Added new "bootconfig".
Looks for a file appended to initrd to add boot config options.
This has been discussed thoroughly at Linux Plumbers.
Very useful for adding kprobes at bootup.
- Created dynamic event creation.
Merges common code between creating synthetic events and
kprobe events.
- Rename perf "ring_buffer" structure to "perf_buffer"
- Rename ftrace "ring_buffer" structure to "trace_buffer"
Had to rename existing "trace_buffer" to "array_buffer"
- Allow trace_printk() to work withing (some) tracing code.
- Sort of tracing configs to be a little better organized
- Various other small fixes and clean ups
Please pull the latest trace-v5.6 tree, which can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git
trace-v5.6
Tag SHA1: e8b1f8525eeac87b9db3051f347e3defd8e2fb8b
Head SHA1: 2b90927c77c973771cc658d639724d5b247a83eb
Alex Shi (5):
ftrace: Remove abandoned macros
ftrace: Remove NR_TO_INIT macro
ring-buffer: Remove abandoned macro RB_MISSED_FLAGS
tracing: Remove unused TRACE_SEQ_BUF_USED
trace/kprobe: Remove unused MAX_KPROBE_CMDLINE_SIZE
Colin Ian King (1):
tools: bootconfig: Fix spelling mistake "faile" -> "failed"
Dan Carpenter (2):
tracing/boot: Fix an IS_ERR() vs NULL bug
tracing: Remove unneeded NULL check
Fabian Frederick (1):
ring-bufer: kernel-doc warning fixes
Hou Pengyang (1):
tracing: Fix comments about trace/ftrace.h
Josef Bacik (1):
tracing: Set kernel_stack's caller size properly
Luis Henriques (1):
tracing: Fix tracing_stat return values in error handling paths
Masami Hiramatsu (28):
bootconfig: Add Extra Boot Config support
bootconfig: Load boot config from the tail of initrd
tools: bootconfig: Add bootconfig command
tools: bootconfig: Add bootconfig test script
proc: bootconfig: Add /proc/bootconfig to show boot config list
init/main.c: Alloc initcall_command_line in do_initcall() and free it
bootconfig: init: Allow admin to use bootconfig for kernel command line
bootconfig: init: Allow admin to use bootconfig for init command line
Documentation: bootconfig: Add a doc for extended boot config
tracing: Apply soft-disabled and filter to tracepoints printk
tracing: kprobes: Output kprobe event to printk buffer
tracing: kprobes: Register to dynevent earlier stage
tracing: Accept different type for synthetic event fields
tracing: Add NULL trace-array check in print_synth_event()
tracing/boot: Add boot-time tracing
tracing/boot: Add per-event settings
tracing/boot Add kprobe event support
tracing/boot: Add synthetic event support
tracing/boot: Add instance node support
tracing/boot: Add cpu_mask option support
tracing/boot: Add function tracer filter options
Documentation: tracing: Add boot-time tracing document
tracing: trigger: Replace unneeded RCU-list traversals
bootconfig: Fix Kconfig help message for BOOT_CONFIG
Documentation: bootconfig: Fix typos in bootconfig documentation
Documentation: tracing: Fix typos in boot-time tracing documentation
tracing/boot: Include required headers and sort it alphabetically
tracing/boot: Move external function declarations to kernel/trace/trace.h
Mathieu Desnoyers (1):
tracing: Fix sched switch start/stop refcount racy updates
Mauro Carvalho Chehab (1):
docs: tracing: Fix a broken label
Steven Rostedt (VMware) (13):
perf: Make struct ring_buffer less ambiguous
tracing: Rename trace_buffer to array_buffer
tracing: Make struct ring_buffer less ambiguous
ring-buffer: Fix kernel doc for rb_update_event()
tracing: Allow trace_printk() to nest in other tracing code
tracing: Fix uninitialized buffer var on early exit to trace_vbprintk()
tracing: Fix very unlikely race of registering two stat tracers
tracing: Decrement trace_array when bootconfig creates an instance
tracing: Use pr_err() instead of WARN() for memory failures
tracing: Move all function tracing configs together
tracing: Move tracing test module configs together
tracing: Move mmio tracer config up with the other tracers
tracing: Move tracing selftests to bottom of menu
Tom Zanussi (21):
tracing: Simplify assignment parsing for hist triggers
tracing: Add hist trigger error messages for sort specification
tracing: Add 'hist:' to hist trigger error log error string
tracing: Add new testcases for hist trigger parsing errors
tracing: Add trace_array_find/_get() to find instance trace arrays
tracing: Add trace_get/put_event_file()
tracing: Add synth_event_delete()
tracing: Add dynamic event command creation interface
tracing: Add synthetic event command generation functions
tracing: Add synth_event_trace() and related functions
tracing: Add synth event generation test module
tracing: Add kprobe event command generation functions
tracing: Change trace_boot to use kprobe_event interface
tracing: Add kprobe event command generation test module
tracing: Documentation for in-kernel synthetic event API
tracing: Change trace_boot to use synth_event interface
tracing: Fix now invalid var_ref_vals assumption in trace action
tracing: Consolidate some synth_event_trace code
tracing: Remove check_arg() callbacks from dynevent args
tracing: Remove useless code in dynevent_arg_pair_add()
tracing: Use seq_buf for building dynevent_cmd string
Vasily Averin (3):
ftrace: fpid_next() should increase position index
tracing: eval_map_next() should always increase position index
trigger_next should increase position index
----
Documentation/admin-guide/bootconfig.rst | 188 ++++
Documentation/admin-guide/index.rst | 1 +
Documentation/trace/boottime-trace.rst | 184 ++++
Documentation/trace/events.rst | 515 ++++++++++
Documentation/trace/index.rst | 1 +
Documentation/trace/kprobetrace.rst | 1 +
MAINTAINERS | 9 +
drivers/oprofile/cpu_buffer.c | 2 +-
fs/proc/Makefile | 1 +
fs/proc/bootconfig.c | 89 ++
include/linux/bootconfig.h | 224 ++++
include/linux/perf_event.h | 6 +-
include/linux/ring_buffer.h | 110 +-
include/linux/trace_events.h | 131 ++-
include/trace/trace_events.h | 11 +-
init/Kconfig | 14 +
init/main.c | 213 +++-
kernel/events/core.c | 42 +-
kernel/events/internal.h | 34 +-
kernel/events/ring_buffer.c | 54 +-
kernel/trace/Kconfig | 360 ++++---
kernel/trace/Makefile | 3 +
kernel/trace/blktrace.c | 8 +-
kernel/trace/ftrace.c | 22 +-
kernel/trace/kprobe_event_gen_test.c | 225 ++++
kernel/trace/ring_buffer.c | 135 +--
kernel/trace/ring_buffer_benchmark.c | 2 +-
kernel/trace/synth_event_gen_test.c | 523 ++++++++++
kernel/trace/trace.c | 453 +++++----
kernel/trace/trace.h | 69 +-
kernel/trace/trace_boot.c | 334 ++++++
kernel/trace/trace_branch.c | 6 +-
kernel/trace/trace_dynevent.c | 212 ++++
kernel/trace/trace_dynevent.h | 32 +
kernel/trace/trace_entries.h | 2 +-
kernel/trace/trace_events.c | 106 +-
kernel/trace/trace_events_hist.c | 1071 ++++++++++++++++++--
kernel/trace/trace_events_trigger.c | 27 +-
kernel/trace/trace_functions.c | 8 +-
kernel/trace/trace_functions_graph.c | 14 +-
kernel/trace/trace_hwlat.c | 2 +-
kernel/trace/trace_irqsoff.c | 8 +-
kernel/trace/trace_kdb.c | 8 +-
kernel/trace/trace_kprobe.c | 238 ++++-
kernel/trace/trace_mmiotrace.c | 12 +-
kernel/trace/trace_output.c | 2 +-
kernel/trace/trace_sched_switch.c | 4 +-
kernel/trace/trace_sched_wakeup.c | 20 +-
kernel/trace/trace_selftest.c | 26 +-
kernel/trace/trace_seq.c | 3 -
kernel/trace/trace_stat.c | 31 +-
kernel/trace/trace_syscalls.c | 8 +-
kernel/trace/trace_uprobe.c | 2 +-
lib/Kconfig | 3 +
lib/Makefile | 2 +
lib/bootconfig.c | 803 +++++++++++++++
tools/Makefile | 11 +-
tools/bootconfig/.gitignore | 1 +
tools/bootconfig/Makefile | 23 +
tools/bootconfig/include/linux/bootconfig.h | 7 +
tools/bootconfig/include/linux/bug.h | 12 +
tools/bootconfig/include/linux/ctype.h | 7 +
tools/bootconfig/include/linux/errno.h | 7 +
tools/bootconfig/include/linux/kernel.h | 18 +
tools/bootconfig/include/linux/printk.h | 17 +
tools/bootconfig/include/linux/string.h | 32 +
tools/bootconfig/main.c | 353 +++++++
.../samples/bad-array-space-comment.bconf | 5 +
tools/bootconfig/samples/bad-array.bconf | 2 +
tools/bootconfig/samples/bad-dotword.bconf | 4 +
tools/bootconfig/samples/bad-empty.bconf | 1 +
tools/bootconfig/samples/bad-keyerror.bconf | 2 +
tools/bootconfig/samples/bad-longkey.bconf | 1 +
tools/bootconfig/samples/bad-manywords.bconf | 1 +
tools/bootconfig/samples/bad-no-keyword.bconf | 2 +
tools/bootconfig/samples/bad-nonprintable.bconf | 2 +
tools/bootconfig/samples/bad-spaceword.bconf | 2 +
tools/bootconfig/samples/bad-tree.bconf | 5 +
tools/bootconfig/samples/bad-value.bconf | 3 +
tools/bootconfig/samples/escaped.bconf | 3 +
.../samples/good-array-space-comment.bconf | 4 +
.../samples/good-comment-after-value.bconf | 1 +
tools/bootconfig/samples/good-printables.bconf | 2 +
tools/bootconfig/samples/good-simple.bconf | 11 +
tools/bootconfig/samples/good-single.bconf | 4 +
.../samples/good-space-after-value.bconf | 1 +
tools/bootconfig/samples/good-tree.bconf | 12 +
tools/bootconfig/test-bootconfig.sh | 105 ++
.../test.d/trigger/trigger-hist-syntax-errors.tc | 32 +
89 files changed, 6464 insertions(+), 843 deletions(-)
create mode 100644 Documentation/admin-guide/bootconfig.rst
create mode 100644 Documentation/trace/boottime-trace.rst
create mode 100644 fs/proc/bootconfig.c
create mode 100644 include/linux/bootconfig.h
create mode 100644 kernel/trace/kprobe_event_gen_test.c
create mode 100644 kernel/trace/synth_event_gen_test.c
create mode 100644 kernel/trace/trace_boot.c
create mode 100644 lib/bootconfig.c
create mode 100644 tools/bootconfig/.gitignore
create mode 100644 tools/bootconfig/Makefile
create mode 100644 tools/bootconfig/include/linux/bootconfig.h
create mode 100644 tools/bootconfig/include/linux/bug.h
create mode 100644 tools/bootconfig/include/linux/ctype.h
create mode 100644 tools/bootconfig/include/linux/errno.h
create mode 100644 tools/bootconfig/include/linux/kernel.h
create mode 100644 tools/bootconfig/include/linux/printk.h
create mode 100644 tools/bootconfig/include/linux/string.h
create mode 100644 tools/bootconfig/main.c
create mode 100644 tools/bootconfig/samples/bad-array-space-comment.bconf
create mode 100644 tools/bootconfig/samples/bad-array.bconf
create mode 100644 tools/bootconfig/samples/bad-dotword.bconf
create mode 100644 tools/bootconfig/samples/bad-empty.bconf
create mode 100644 tools/bootconfig/samples/bad-keyerror.bconf
create mode 100644 tools/bootconfig/samples/bad-longkey.bconf
create mode 100644 tools/bootconfig/samples/bad-manywords.bconf
create mode 100644 tools/bootconfig/samples/bad-no-keyword.bconf
create mode 100644 tools/bootconfig/samples/bad-nonprintable.bconf
create mode 100644 tools/bootconfig/samples/bad-spaceword.bconf
create mode 100644 tools/bootconfig/samples/bad-tree.bconf
create mode 100644 tools/bootconfig/samples/bad-value.bconf
create mode 100644 tools/bootconfig/samples/escaped.bconf
create mode 100644 tools/bootconfig/samples/good-array-space-comment.bconf
create mode 100644 tools/bootconfig/samples/good-comment-after-value.bconf
create mode 100644 tools/bootconfig/samples/good-printables.bconf
create mode 100644 tools/bootconfig/samples/good-simple.bconf
create mode 100644 tools/bootconfig/samples/good-single.bconf
create mode 100644 tools/bootconfig/samples/good-space-after-value.bconf
create mode 100644 tools/bootconfig/samples/good-tree.bconf
create mode 100755 tools/bootconfig/test-bootconfig.sh
create mode 100644 tools/testing/selftests/ftrace/test.d/trigger/trigger-hist-syntax-errors.tc
---------------------------