[GIT PULL v2] tracing: Changes for 5.6

From: Steven Rostedt
Date: Wed Feb 05 2020 - 17:29:29 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.
Only enabled if "bootconfig" is on the real kernel command line.

- 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

- Fixed bug where ftrace_graph hash was not being protected properly

- Various other small fixes and clean ups


Please pull the latest trace-v5.6-2 tree, which can be found at:


git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git
trace-v5.6-2

Tag SHA1: c2a3faac204bfa981938ad503b9283aecdee212e
Head SHA1: a00574036c261421721fa770ccd21a1012e1fbbd


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

Amol Grover (2):
tracing: Annotate ftrace_graph_hash pointer with __rcu
tracing: Annotate ftrace_graph_notrace_hash pointer with __rcu

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 (32):
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
bootconfig: Use bootconfig instead of boot config
bootconfig: Add more parse error messages
tools/bootconfig: Show the number of bootconfig nodes
bootconfig: Show the number of nodes on boot message

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) (16):
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
bootconfig: Only load bootconfig if "bootconfig" is on the kernel cmdline
ftrace: Add comment to why rcu_dereference_sched() is open coded
ftrace: Protect ftrace_graph_hash with ftrace_sync

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 | 190 ++++
Documentation/admin-guide/index.rst | 1 +
Documentation/admin-guide/kernel-parameters.txt | 6 +
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 | 229 ++++-
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 | 37 +-
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 | 98 +-
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 | 814 +++++++++++++++
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 | 354 +++++++
.../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 +
90 files changed, 6535 insertions(+), 852 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
---------------------------