linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [ GIT PULL] tracing: Updates for 5.13
@ 2021-05-03 13:17 Steven Rostedt
  2021-05-03 18:27 ` Linus Torvalds
  0 siblings, 1 reply; 3+ messages in thread
From: Steven Rostedt @ 2021-05-03 13:17 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: LKML, Bhaskar Chowdhury, Cao jin, Colin Ian King, Ingo Molnar,
	Qiujun Huang, Wan Jiabing, Xu Wang, Yordan Karadzhov (VMware)


Linus,

tracing updates for 5.13

[
  Note, this has one merge of my trace/ftrace/urgent branch to pull
  in the changes to the ftrace_page allocation fix, in order to
  apply your changes on top of it (commit db42523b4f3e83).

  This is the first time I'm sending a pull request with a merge
  in it. I'm hoping my scripts did everything correctly. Might want
  to check it a bit more than usual.

  The "Fixes" section below contains two last minute bugs that were
  reported, which is why I'm late on my pull request.
]

New feature:

 The "func-no-repeats" option in tracefs/options directory. When set
 the function tracer will detect if the current function being traced
 is the same as the previous one, and instead of recording it, it will
 keep track of the number of times that the function is repeated in a row.
 And when another function is recorded, it will write a new event that
 shows the function that repeated, the number of times it repeated and
 the time stamp of when the last repeated function occurred.

Enhancements:

 In order to implement the above "func-no-repeats" option, the ring
 buffer timestamp can now give the accurate timestamp of the event
 as it is being recorded, instead of having to record an absolute
 timestamp for all events. This helps the histogram code which no longer
 needs to waste ring buffer space.

 New validation logic to make sure all trace events that access
 dereferenced pointers do so in a safe way, and will warn otherwise.

Fixes:

 No longer limit the PIDs of tasks that are recorded for "saved_cmdlines"
 to PID_MAX_DEFAULT (32768), as systemd now allows for a much larger
 range. This caused the mapping of PIDs to the task names to be dropped
 for all tasks with a PID greater than 32768.

 Change trace_clock_global() to never block. This caused a deadlock.

Clean ups:

 Typos, prototype fixes, and removing of duplicate or unused code.

 Better management of ftrace_page allocations.


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


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

Tag SHA1: fc7dae88ef9304be9df419919a36a90362207ba0
Head SHA1: aafe104aa9096827a429bc1358f8260ee565b7cc


Bhaskar Chowdhury (1):
      kernel: trace: Mundane typo fixes in the file trace_events_filter.c

Cao jin (1):
      bootconfig: Update prototype of setup_boot_config()

Colin Ian King (1):
      ftrace: Fix spelling mistake "disabed" -> "disabled"

Ingo Molnar (1):
      tracing: Fix various typos in comments

Linus Torvalds (1):
      ftrace: Store the order of pages allocated in ftrace_page

Qiujun Huang (2):
      tracing: A minor cleanup for create_system_filter()
      tracing: Update create_system_filter() kernel-doc comment

Steven Rostedt (VMware) (17):
      ring-buffer: Separate out internal use of ring_buffer_event_time_stamp()
      ring-buffer: Add a event_stamp to cpu_buffer for each level of nesting
      tracing: Pass buffer of event to trigger operations
      ring-buffer: Allow ring_buffer_event_time_stamp() to return time stamp of all events
      tracing: Use a no_filter_buffering_ref to stop using the filter buffer
      ring-buffer: Add verifier for using ring_buffer_event_time_stamp()
      tracing: Add tracing_event_time_stamp() API
      tracing: Add check of trace event print fmts for dereferencing pointers
      seq_buf: Add seq_buf_terminate() API
      tracing: Add a verifier to check string pointers for trace events
      scripts/recordmcount.pl: Make indent spacing consistent
      scripts/recordmcount.pl: Make vim and emacs indent the same
      Merge branch 'trace/ftrace/urgent' into HEAD
      ftrace: Simplify the calculation of page number for ftrace_page->records some more
      ftrace: Reuse the output of the function tracer for func_repeats
      tracing: Map all PIDs to command lines
      tracing: Restructure trace_clock_global() to never block

Wan Jiabing (1):
      tracing: Remove duplicate struct declaration in trace_events.h

Xu Wang (1):
      tools/latency-collector: Remove unneeded semicolon

Yordan Karadzhov (VMware) (7):
      tracing: Remove unused argument from "ring_buffer_time_stamp()
      tracing: Define static void trace_print_time()
      tracing: Define new ftrace event "func_repeats"
      tracing: Add "last_func_repeats" to struct trace_array
      tracing: Add method for recording "func_repeats" events
      tracing: Unify the logic for function tracing options
      tracing: Add "func_no_repeats" option for function tracing

----
 arch/csky/kernel/probes/ftrace.c          |   2 +-
 arch/microblaze/include/asm/ftrace.h      |   2 +-
 arch/nds32/kernel/ftrace.c                |   2 +-
 arch/powerpc/include/asm/ftrace.h         |   4 +-
 arch/riscv/kernel/probes/ftrace.c         |   2 +-
 arch/sh/kernel/ftrace.c                   |   2 +-
 arch/sparc/include/asm/ftrace.h           |   2 +-
 arch/x86/kernel/kprobes/ftrace.c          |   2 +-
 fs/tracefs/inode.c                        |   2 +-
 include/linux/ftrace.h                    |   4 +-
 include/linux/ring_buffer.h               |   5 +-
 include/linux/seq_buf.h                   |  25 +++
 include/linux/trace_events.h              |   8 +-
 include/linux/tracepoint.h                |   2 +-
 include/trace/events/io_uring.h           |   2 +-
 include/trace/events/rcu.h                |   2 +-
 include/trace/events/sched.h              |   2 +-
 include/trace/events/timer.h              |   2 +-
 init/main.c                               |   6 +-
 kernel/trace/bpf_trace.c                  |   5 +-
 kernel/trace/fgraph.c                     |   4 +-
 kernel/trace/ftrace.c                     |  53 ++---
 kernel/trace/ring_buffer.c                | 142 +++++++++---
 kernel/trace/synth_event_gen_test.c       |   2 +-
 kernel/trace/trace.c                      | 348 ++++++++++++++++++++++++------
 kernel/trace/trace.h                      |  35 ++-
 kernel/trace/trace_clock.c                |  44 ++--
 kernel/trace/trace_dynevent.c             |   6 +-
 kernel/trace/trace_entries.h              |  22 ++
 kernel/trace/trace_event_perf.c           |   2 +-
 kernel/trace/trace_events.c               | 214 +++++++++++++++++-
 kernel/trace/trace_events_filter.c        |  18 +-
 kernel/trace/trace_events_hist.c          | 100 ++++++---
 kernel/trace/trace_events_synth.c         |   2 +-
 kernel/trace/trace_events_trigger.c       |  45 ++--
 kernel/trace/trace_functions.c            | 223 ++++++++++++++++---
 kernel/trace/trace_functions_graph.c      |   2 +-
 kernel/trace/trace_hwlat.c                |   4 +-
 kernel/trace/trace_kprobe.c               |   2 +-
 kernel/trace/trace_output.c               |  93 ++++++--
 kernel/trace/trace_printk.c               |  11 +
 kernel/trace/trace_probe.c                |   6 +-
 kernel/trace/trace_probe.h                |   2 +-
 kernel/trace/trace_probe_tmpl.h           |   2 +-
 kernel/trace/trace_selftest.c             |   4 +-
 kernel/trace/trace_seq.c                  |  12 +-
 scripts/recordmcount.pl                   |  26 +--
 tools/tracing/latency/latency-collector.c |   4 +-
 48 files changed, 1198 insertions(+), 313 deletions(-)
---------------------------

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [ GIT PULL] tracing: Updates for 5.13
  2021-05-03 13:17 [ GIT PULL] tracing: Updates for 5.13 Steven Rostedt
@ 2021-05-03 18:27 ` Linus Torvalds
  2021-05-03 20:03   ` Steven Rostedt
  0 siblings, 1 reply; 3+ messages in thread
From: Linus Torvalds @ 2021-05-03 18:27 UTC (permalink / raw)
  To: Steven Rostedt
  Cc: LKML, Bhaskar Chowdhury, Cao jin, Colin Ian King, Ingo Molnar,
	Qiujun Huang, Wan Jiabing, Xu Wang, Yordan Karadzhov (VMware)

On Mon, May 3, 2021 at 6:17 AM Steven Rostedt <rostedt@goodmis.org> wrote:
>
> Colin Ian King (1):
>       ftrace: Fix spelling mistake "disabed" -> "disabled"

Well, that spelling fix didn't fix the other misspelled word right next to it.

> This is the first time I'm sending a pull request with a merge
> in it. I'm hoping my scripts did everything correctly. Might want
> to check it a bit more than usual.

The merge looks fine. It causes the diffstat to show incorrectly,
which is normal (and generally avoided by you doing a test merge so
that you get the diffstat from the merged state - but don't send the
merge itself to me, just use it to (a) look at what conflicts there
will be and (b) get that correct diffstat for the end result).

That said, if the only reason for the merge was one single trivial
commit, you could just have cherry-picked it instead, avoiding the
things like "oh, now it has two merge bases so 'diff' no longer has an
unambiguous result" etc.

But this is fine. If you start doing a lot of merges, I may really ask
you to then also do that test-merge for the pull request, but if it's
one of these "once in a blue moon" things then don't worry about it.

              Linus

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [ GIT PULL] tracing: Updates for 5.13
  2021-05-03 18:27 ` Linus Torvalds
@ 2021-05-03 20:03   ` Steven Rostedt
  0 siblings, 0 replies; 3+ messages in thread
From: Steven Rostedt @ 2021-05-03 20:03 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: LKML, Bhaskar Chowdhury, Cao jin, Colin Ian King, Ingo Molnar,
	Qiujun Huang, Wan Jiabing, Xu Wang, Yordan Karadzhov (VMware)

On Mon, 3 May 2021 11:27:02 -0700
Linus Torvalds <torvalds@linux-foundation.org> wrote:

> > This is the first time I'm sending a pull request with a merge
> > in it. I'm hoping my scripts did everything correctly. Might want
> > to check it a bit more than usual.  
> 
> The merge looks fine. It causes the diffstat to show incorrectly,
> which is normal (and generally avoided by you doing a test merge so
> that you get the diffstat from the merged state - but don't send the
> merge itself to me, just use it to (a) look at what conflicts there
> will be and (b) get that correct diffstat for the end result).

OK, makes sense.

> 
> That said, if the only reason for the merge was one single trivial
> commit, you could just have cherry-picked it instead, avoiding the
> things like "oh, now it has two merge bases so 'diff' no longer has an
> unambiguous result" etc.

I was thinking of doing the simple cherry-pick, but I wanted to test if
merges would work too, as I'm hoping that I can start pulling from others
someday, and not just take patches. I figured I'd try on a trivial merge
to see what breaks.

> 
> But this is fine. If you start doing a lot of merges, I may really ask
> you to then also do that test-merge for the pull request, but if it's

Good to know. If I start pulling more complex merges, I'll do the test
merge for the diffstat then.

Thanks,

-- Steve

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-05-03 20:03 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-03 13:17 [ GIT PULL] tracing: Updates for 5.13 Steven Rostedt
2021-05-03 18:27 ` Linus Torvalds
2021-05-03 20:03   ` Steven Rostedt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).