public inbox for linux-trace-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] ring-buffer/selftest: Meta-page testing improvements
@ 2024-09-10 14:43 Vincent Donnefort
  2024-09-10 14:43 ` [PATCH 1/2] ring-buffer/selftest: Verify the entire meta-page padding Vincent Donnefort
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Vincent Donnefort @ 2024-09-10 14:43 UTC (permalink / raw)
  To: rostedt
  Cc: mhiramat, linux-kernel, linux-trace-kernel, kernel-team,
	Vincent Donnefort

Following the comments on the original patch [1] here's a set of 2 patches to
improve the selftest.

[1] https://lore.kernel.org/all/20240628104611.1443542-1-vdonnefort@google.com/

Vincent Donnefort (2):
  ring-buffer/selftest: Verify the entire meta-page padding
  ring-buffer/selftest: Handle meta-page bigger than the system

 tools/testing/selftests/ring-buffer/map_test.c | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)


base-commit: 2fcd5aff92aab479a9a89cfce2dbc9c6a9455b4f
-- 
2.46.0.598.g6f2099f65c-goog


^ permalink raw reply	[flat|nested] 5+ messages in thread
* Re: [PATCH v2] ring-buffer: Align meta-page to sub-buffers for improved TLB usage
@ 2024-08-21 15:56 Steven Rostedt
  2024-08-28 15:40 ` [PATCH 1/2] ring-buffer/selftest: Verify the entire meta-page padding Vincent Donnefort
  0 siblings, 1 reply; 5+ messages in thread
From: Steven Rostedt @ 2024-08-21 15:56 UTC (permalink / raw)
  To: Vincent Donnefort
  Cc: mhiramat, linux-kernel, linux-trace-kernel, mathieu.desnoyers,
	kernel-team, david

On Fri, 28 Jun 2024 11:46:11 +0100
Vincent Donnefort <vdonnefort@google.com> wrote:

> diff --git a/tools/testing/selftests/ring-buffer/map_test.c b/tools/testing/selftests/ring-buffer/map_test.c
> index a9006fa7097e..4bb0192e43f3 100644
> --- a/tools/testing/selftests/ring-buffer/map_test.c
> +++ b/tools/testing/selftests/ring-buffer/map_test.c
> @@ -228,6 +228,20 @@ TEST_F(map, data_mmap)
>  	data = mmap(NULL, data_len, PROT_READ, MAP_SHARED,
>  		    desc->cpu_fd, meta_len);
>  	ASSERT_EQ(data, MAP_FAILED);
> +
> +	/* Verify meta-page padding */
> +	if (desc->meta->meta_page_size > getpagesize()) {
> +		void *addr;
> +
> +		data_len = desc->meta->meta_page_size;
> +		data = mmap(NULL, data_len,
> +			    PROT_READ, MAP_SHARED, desc->cpu_fd, 0);
> +		ASSERT_NE(data, MAP_FAILED);
> +
> +		addr = (void *)((unsigned long)data + getpagesize());
> +		ASSERT_EQ(*((int *)addr), 0);

Should we make this a test that the entire page is zero?

		for (int i = desc->meta->meta_struct_len; i < desc->meta->meta_page_size; i += sizeof(int))
			ASSERT_EQ(((int *)data)[i], 0);

?

> +		munmap(data, data_len);
> +	}
>  }

Also, looking at the init, if for some reason (I highly doubt it may
happen) that the meta_struct_len becomes bigger than page_size, we should
update the init section to:

	/* Handle the case where meta_struct_len is greater than page size */
	if (page_size < desc->meta->meta_struct_len) {
		/* meta_page_size is >= meta_struct_len */
		page_size = desc->meta->meta_page_size;
		munmap(desc->meta, page_size);
		map = mmap(NULL, page_size, PROT_READ, MAP_SHARED, desc->cpu_fd, 0);
		if (map == MAP_FAILED)
			return -errno;
		desc->meta = (struct trace_buffer_meta *)map;
	}

-- Steve

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2024-09-10 15:45 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-10 14:43 [PATCH 0/2] ring-buffer/selftest: Meta-page testing improvements Vincent Donnefort
2024-09-10 14:43 ` [PATCH 1/2] ring-buffer/selftest: Verify the entire meta-page padding Vincent Donnefort
2024-09-10 14:43 ` [PATCH 2/2] ring-buffer/selftest: Handle meta-page bigger than the system Vincent Donnefort
2024-09-10 15:45 ` [PATCH 0/2] ring-buffer/selftest: Meta-page testing improvements Steven Rostedt
  -- strict thread matches above, loose matches on Subject: below --
2024-08-21 15:56 [PATCH v2] ring-buffer: Align meta-page to sub-buffers for improved TLB usage Steven Rostedt
2024-08-28 15:40 ` [PATCH 1/2] ring-buffer/selftest: Verify the entire meta-page padding Vincent Donnefort
2024-08-28 15:40   ` [PATCH 2/2] ring-buffer/selftest: Handle meta-page bigger than the system Vincent Donnefort

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox