[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230329093602.2b3243f0@rorschach.local.home>
Date: Wed, 29 Mar 2023 09:36:46 -0400
From: Steven Rostedt <rostedt@...dmis.org>
To: Vincent Donnefort <vdonnefort@...gle.com>
Cc: mhiramat@...nel.org, linux-kernel@...r.kernel.org,
linux-trace-kernel@...r.kernel.org, kernel-team@...roid.com
Subject: Re: [PATCH v2 1/2] ring-buffer: Introducing ring-buffer mapping
functions
On Wed, 29 Mar 2023 14:31:07 +0100
Vincent Donnefort <vdonnefort@...gle.com> wrote:
> We can say we update cpu_buffer->reader_page->read on the get_reader_page ioctl,
> to the most recent value possible, which will have the consequence of actually
> "flushing" those events?
Yes. It should be no different than doing a normal read of the
trace_pipe_raw file, which does the same.
>
> If the reader decides to read events past this value then it just can't expect
> them to not be duplicated?
>
> I suppose it'd be down the reader to store meta->read somehwere?
>
> prev_read = meta->read
> ioctl(fd, TRACE_MMAP_IOCTL_GET_READER_PAGE)
> /* read events from prev_read to meta->read */
Yes, in fact it shouldn't need to call the ioctl until after it read it.
Maybe, we should have the ioctl take a parameter of how much was read?
To prevent races?
That is, it should pass in the page->commit that it used to to read the
pages.
-- Steve
Powered by blists - more mailing lists