[PATCH v18 7/8] ring-buffer: Cleanup persistent ring buffer validation
Steven Rostedt
rostedt at goodmis.org
Tue Apr 28 13:24:57 PDT 2026
On Fri, 24 Apr 2026 15:52:59 +0900
"Masami Hiramatsu (Google)" <mhiramat at kernel.org> wrote:
> From: Masami Hiramatsu (Google) <mhiramat at kernel.org>
>
> Cleanup rb_meta_validate_events() function to make it easier to read.
> This includes the following cleanups:
> - Introduce rb_validatation_state to hold working variables in
> validation.
> - Move repleated validation state updates into rb_validate_buffer().
> - Move reader_page injection code outside of rb_meta_validate_events().
>
> Signed-off-by: Masami Hiramatsu (Google) <mhiramat at kernel.org>
> ---
> kernel/trace/ring_buffer.c | 186 ++++++++++++++++++++++----------------------
> 1 file changed, 95 insertions(+), 91 deletions(-)
>
> diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c
> index de653a8e3cec..9850a0d8d24b 100644
> --- a/kernel/trace/ring_buffer.c
> +++ b/kernel/trace/ring_buffer.c
> @@ -1883,8 +1883,16 @@ static int rb_read_data_buffer(struct buffer_data_page *dpage, int tail, int cpu
> return events;
> }
>
> -static int rb_validate_buffer(struct buffer_page *bpage, int cpu,
> - struct ring_buffer_cpu_meta *meta, u64 prev_ts, u64 next_ts)
> +struct rb_validation_state {
> + unsigned long entries;
> + unsigned long entry_bytes;
> + int discarded;
> + u64 ts;
> +};
> +
> +static int __rb_validate_buffer(struct buffer_page *bpage, int cpu,
> + struct ring_buffer_cpu_meta *meta,
> + u64 prev_ts, u64 next_ts)
> {
This can still use those comments (from patch 4).
Also, could you rebase on top of v7.1-rc1?
Thanks Masami!
-- Steve
> struct buffer_data_page *dpage = bpage->page;
> unsigned long long ts;
> @@ -1914,16 +1922,82 @@ static int rb_validate_buffer(struct buffer_page *bpage, int cpu,
> return ret;
> }
More information about the linux-arm-kernel
mailing list