mbox series

[v4,0/5] tracing: Introduce configurable ring sub buffer size

Message ID 20211213094825.61876-1-tz.stoyanov@gmail.com (mailing list archive)
Headers show
Series tracing: Introduce configurable ring sub buffer size | expand

Message

Tzvetomir Stoyanov (VMware) Dec. 13, 2021, 9:48 a.m. UTC
From: "Tzvetomir Stoyanov (VMware)" <tstoyanov@vmware.com>

Currently the size of one sub buffer page is global for all buffers and it
is hard coded to one system page. The patch set introduces configurable
ring buffer sub page size, per ring buffer. A new user space interface is
introduced, which allows to change the sub page size of the ftrace buffer, per
ftrace instance.

v4 changes:
 - Do not change the sub buffer size of the temp event buffer per CPU,
   trace_buffered_event. That size if fixed to one system page.
v3 changes:
 - Fixed ring buffer readers and writers to work with custom sub buffer page
   size.
v2 changes:
 - Split code refactoring in a separate patch.
 - Changed the logic to work with order of system pages, instead of page
   size.
 - Fix freeing of the allocated pages, to take into account the actual order.
 - Code clean ups.
 - Bug fixes.

Tzvetomir Stoyanov (VMware) (5):
  [RFC] tracing: Refactor ring buffer implementation
  [RFC] tracing: Page size per ring buffer
  [RFC] tracing: Add interface for configuring trace sub buffer size
  [RFC] tracing: Set new size of the ring buffer sub page
  [RFC] tracing: Read and write to ring buffers with custom sub buffer
    size

 include/linux/ring_buffer.h          |  17 +-
 kernel/trace/ring_buffer.c           | 345 ++++++++++++++++++++-------
 kernel/trace/ring_buffer_benchmark.c |  10 +-
 kernel/trace/trace.c                 |  84 +++++--
 kernel/trace/trace.h                 |   1 +
 kernel/trace/trace_events.c          |  50 +++-
 6 files changed, 392 insertions(+), 115 deletions(-)