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. 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(-) -- 2.31.1