linux-trace-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Steven Rostedt <rostedt@goodmis.org>
To: David Laight <David.Laight@ACULAB.COM>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-trace-kernel@vger.kernel.org"
	<linux-trace-kernel@vger.kernel.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Tzvetomir Stoyanov <tz.stoyanov@gmail.com>,
	Vincent Donnefort <vdonnefort@google.com>,
	"Kent Overstreet" <kent.overstreet@gmail.com>
Subject: Re: [PATCH v5 02/15] ring-buffer: Page size per ring buffer
Date: Wed, 20 Dec 2023 08:01:29 -0500	[thread overview]
Message-ID: <20231220080129.3453bca8@gandalf.local.home> (raw)
In-Reply-To: <84d3b41a72bd43dbb9d44921ef535c92@AcuMS.aculab.com>

On Wed, 20 Dec 2023 08:48:02 +0000
David Laight <David.Laight@ACULAB.COM> wrote:

> From: Steven Rostedt
> > Sent: 19 December 2023 18:54
> > From: "Tzvetomir Stoyanov (VMware)" <tz.stoyanov@gmail.com>
> > 
> > Currently the size of one sub buffer page is global for all buffers and
> > it is hard coded to one system page. In order to introduce configurable
> > ring buffer sub page size, the internal logic should be refactored to
> > work with sub page size per ring buffer.
> >   
> ...
> > -	nr_pages = DIV_ROUND_UP(size, BUF_PAGE_SIZE);
> > +	/* Default buffer page size - one system page */
> > +	buffer->subbuf_size = PAGE_SIZE - BUF_PAGE_HDR_SIZE;
> > +
> > +	/* Max payload is buffer page size - header (8bytes) */
> > +	buffer->max_data_size = buffer->subbuf_size - (sizeof(u32) * 2);
> > +
> > +	nr_pages = DIV_ROUND_UP(size, buffer->subbuf_size);  
> 
> While not new, does this really make any sense for systems with 64k pages?
> Wouldn't it be better to have units of 4k?

Unfortunately, it has to be PAGE_SIZE (and for now it's a power of 2 to
make masking easy). It's used for splice and will also be used for memory
mapping with user space.

> 
> ...
> > @@ -5102,14 +5110,14 @@ unsigned long ring_buffer_size(struct trace_buffer *buffer, int cpu)
> >  {
> >  	/*
> >  	 * Earlier, this method returned
> > -	 *	BUF_PAGE_SIZE * buffer->nr_pages
> > +	 *	buffer->subbuf_size * buffer->nr_pages
> >  	 * Since the nr_pages field is now removed, we have converted this to
> >  	 * return the per cpu buffer value.  
> 
> Overenthusiastic global replace...

Possibly, but the comment still applies, and should probably be removed, as
it's rather old (2012). It's basically just saying that the size use to be
calculated from buffer->nr_pages and now it's calculated by
buffer->buffers[cpu]->nr_pages.

I think I'll just add a patch to remove that comment.

Thanks,

-- Steve

  reply	other threads:[~2023-12-20 13:00 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-19 18:54 [PATCH v5 00/15] ring-buffer/tracing: Allow ring buffer to have bigger sub buffers Steven Rostedt
2023-12-19 18:54 ` [PATCH v5 01/15] ring-buffer: Refactor ring buffer implementation Steven Rostedt
2023-12-20  9:48   ` Masami Hiramatsu
2023-12-20 12:53     ` Steven Rostedt
2023-12-19 18:54 ` [PATCH v5 02/15] ring-buffer: Page size per ring buffer Steven Rostedt
2023-12-20  8:48   ` David Laight
2023-12-20 13:01     ` Steven Rostedt [this message]
2023-12-21  9:17       ` David Laight
2023-12-21 14:19         ` Steven Rostedt
2023-12-21 14:51           ` David Laight
2023-12-21 14:57             ` Steven Rostedt
2023-12-19 18:54 ` [PATCH v5 03/15] ring-buffer: Add interface for configuring trace sub buffer size Steven Rostedt
2023-12-20 14:26   ` Masami Hiramatsu
2023-12-20 14:40     ` Steven Rostedt
2023-12-21  0:10       ` Masami Hiramatsu
2023-12-19 18:54 ` [PATCH v5 04/15] ring-buffer: Set new size of the ring buffer sub page Steven Rostedt
2023-12-20 16:34   ` Masami Hiramatsu
2023-12-20 16:56     ` Steven Rostedt
2023-12-21  0:11       ` Masami Hiramatsu
2023-12-19 18:54 ` [PATCH v5 05/15] ring-buffer: Read and write to ring buffers with custom sub buffer size Steven Rostedt
2023-12-19 18:54 ` [PATCH v5 06/15] ring-buffer: Clear pages on error in ring_buffer_subbuf_order_set() failure Steven Rostedt
2023-12-20 16:23   ` Masami Hiramatsu
2023-12-20 16:30     ` Steven Rostedt
2023-12-19 18:54 ` [PATCH v5 07/15] ring-buffer: Do no swap cpu buffers if order is different Steven Rostedt
2023-12-19 18:54 ` [PATCH v5 08/15] ring-buffer: Make sure the spare sub buffer used for reads has same size Steven Rostedt
2023-12-19 18:54 ` [PATCH v5 09/15] tracing: Update snapshot order along with main buffer order Steven Rostedt
2023-12-19 18:54 ` [PATCH v5 10/15] tracing: Stop the tracing while changing the ring buffer subbuf size Steven Rostedt
2023-12-19 18:54 ` [PATCH v5 11/15] ring-buffer: Keep the same size when updating the order Steven Rostedt
2023-12-19 18:54 ` [PATCH v5 12/15] ring-buffer: Just update the subbuffers when changing their allocation order Steven Rostedt
2023-12-19 18:54 ` [PATCH v5 13/15] ring-buffer: Add documentation on the buffer_subbuf_order file Steven Rostedt
2023-12-19 18:54 ` [PATCH v5 14/15] ringbuffer/selftest: Add basic selftest to test changing subbuf order Steven Rostedt
2023-12-21  0:23   ` Masami Hiramatsu
2023-12-19 18:54 ` [PATCH v5 15/15] tracing: Update subbuffer with kilobytes not page order Steven Rostedt
2023-12-21  0:26   ` Masami Hiramatsu
2023-12-21  1:57     ` Steven Rostedt
2023-12-19 22:38 ` [PATCH v5 16/15] ring-buffer: Use subbuf_order for buffer page masking Steven Rostedt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231220080129.3453bca8@gandalf.local.home \
    --to=rostedt@goodmis.org \
    --cc=David.Laight@ACULAB.COM \
    --cc=akpm@linux-foundation.org \
    --cc=kent.overstreet@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-trace-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mathieu.desnoyers@efficios.com \
    --cc=mhiramat@kernel.org \
    --cc=tz.stoyanov@gmail.com \
    --cc=vdonnefort@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).