Skip to content

ring-buffer: less locking and only disable preemption

Steven Rostedt lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest3 patches 12 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/3ring-buffer: move page indexes into page headerskernel/trace/ring_buffer.c+41 -340 replies
2/3ring-buffer: make reentrantkernel/trace/ring_buffer.c+373 -1120 replies
3/3ftrace: make some tracers reentrantkernel/trace/trace.c kernel/trace/trace_sched_switch.c+4 -160 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/3] ring-buffer: less locking and only disable preemption

Ingo,

These patches need to be put through the ringer. Could you add them to your ring-buffer branch, so we can test them out before putting them into your master branch.

The following patches bring the ring buffer closer to a lockless solution. They move the locking only to the actual moving the tail/write pointer from one page to the next. Interrupts are now enabled during most of the writes.

A lot of the locking protection is still within the ftrace infrastructure. The last patch takes some of that away.

The function tracer cannot be reentrant just due to the nature that it traces everything, and can cause recursion issues.

-- Steve