[PATCH v18 7/8] ring-buffer: Cleanup persistent ring buffer validation
Masami Hiramatsu (Google)
mhiramat at kernel.org
Wed Apr 29 08:21:39 PDT 2026
On Tue, 28 Apr 2026 16:24:57 -0400
Steven Rostedt <rostedt at goodmis.org> wrote:
> 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?
Is it v7.1-rc1, not ring-buffer/for-next?
Thanks,
>
> 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;
> > }
--
Masami Hiramatsu (Google) <mhiramat at kernel.org>
More information about the linux-arm-kernel
mailing list