[PATCH v3 0/5] tracing: Introduce configurable ring sub buffer size

From: Tzvetomir Stoyanov (VMware)
Date: Thu Nov 25 2021 - 13:01:41 EST


From: "Tzvetomir Stoyanov (VMware)" <tstoyanov@xxxxxxxxxx>

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.

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 | 88 +++++--
kernel/trace/trace.h | 1 +
kernel/trace/trace_events.c | 50 +++-
6 files changed, 395 insertions(+), 116 deletions(-)

--
2.31.1