From: Steven Rostedt <rostedt@goodmis.org>
To: linux-kernel@vger.kernel.org
Cc: 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: [PATCH v2 01/15] ring-buffer: Refactor ring buffer implementation
Date: Tue, 12 Dec 2023 21:19:15 -0500 [thread overview]
Message-ID: <20231213022008.302634297@goodmis.org> (raw)
In-Reply-To: 20231213021914.361709558@goodmis.org
From: "Tzvetomir Stoyanov (VMware)" <tz.stoyanov@gmail.com>
In order to introduce sub-buffer size per ring buffer, some internal
refactoring is needed. As ring_buffer_print_page_header() will depend on
the trace_buffer structure, it is moved after the structure definition.
Link: https://lore.kernel.org/linux-trace-devel/20211213094825.61876-2-tz.stoyanov@gmail.com
Signed-off-by: Tzvetomir Stoyanov (VMware) <tz.stoyanov@gmail.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
---
kernel/trace/ring_buffer.c | 60 +++++++++++++++++++-------------------
1 file changed, 30 insertions(+), 30 deletions(-)
diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c
index 8f8887f025c9..eee36f90ae25 100644
--- a/kernel/trace/ring_buffer.c
+++ b/kernel/trace/ring_buffer.c
@@ -378,36 +378,6 @@ static inline bool test_time_stamp(u64 delta)
/* Max payload is BUF_PAGE_SIZE - header (8bytes) */
#define BUF_MAX_DATA_SIZE (BUF_PAGE_SIZE - (sizeof(u32) * 2))
-int ring_buffer_print_page_header(struct trace_seq *s)
-{
- struct buffer_data_page field;
-
- trace_seq_printf(s, "\tfield: u64 timestamp;\t"
- "offset:0;\tsize:%u;\tsigned:%u;\n",
- (unsigned int)sizeof(field.time_stamp),
- (unsigned int)is_signed_type(u64));
-
- trace_seq_printf(s, "\tfield: local_t commit;\t"
- "offset:%u;\tsize:%u;\tsigned:%u;\n",
- (unsigned int)offsetof(typeof(field), commit),
- (unsigned int)sizeof(field.commit),
- (unsigned int)is_signed_type(long));
-
- trace_seq_printf(s, "\tfield: int overwrite;\t"
- "offset:%u;\tsize:%u;\tsigned:%u;\n",
- (unsigned int)offsetof(typeof(field), commit),
- 1,
- (unsigned int)is_signed_type(long));
-
- trace_seq_printf(s, "\tfield: char data;\t"
- "offset:%u;\tsize:%u;\tsigned:%u;\n",
- (unsigned int)offsetof(typeof(field), data),
- (unsigned int)BUF_PAGE_SIZE,
- (unsigned int)is_signed_type(char));
-
- return !trace_seq_has_overflowed(s);
-}
-
struct rb_irq_work {
struct irq_work work;
wait_queue_head_t waiters;
@@ -573,6 +543,36 @@ struct ring_buffer_iter {
int missed_events;
};
+int ring_buffer_print_page_header(struct trace_seq *s)
+{
+ struct buffer_data_page field;
+
+ trace_seq_printf(s, "\tfield: u64 timestamp;\t"
+ "offset:0;\tsize:%u;\tsigned:%u;\n",
+ (unsigned int)sizeof(field.time_stamp),
+ (unsigned int)is_signed_type(u64));
+
+ trace_seq_printf(s, "\tfield: local_t commit;\t"
+ "offset:%u;\tsize:%u;\tsigned:%u;\n",
+ (unsigned int)offsetof(typeof(field), commit),
+ (unsigned int)sizeof(field.commit),
+ (unsigned int)is_signed_type(long));
+
+ trace_seq_printf(s, "\tfield: int overwrite;\t"
+ "offset:%u;\tsize:%u;\tsigned:%u;\n",
+ (unsigned int)offsetof(typeof(field), commit),
+ 1,
+ (unsigned int)is_signed_type(long));
+
+ trace_seq_printf(s, "\tfield: char data;\t"
+ "offset:%u;\tsize:%u;\tsigned:%u;\n",
+ (unsigned int)offsetof(typeof(field), data),
+ (unsigned int)BUF_PAGE_SIZE,
+ (unsigned int)is_signed_type(char));
+
+ return !trace_seq_has_overflowed(s);
+}
+
#ifdef RB_TIME_32
/*
--
2.42.0
next prev parent reply other threads:[~2023-12-13 2:19 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-13 2:19 [PATCH v2 00/15] ring-buffer/tracing: Allow ring buffer to have bigger sub buffers Steven Rostedt
2023-12-13 2:19 ` Steven Rostedt [this message]
2023-12-13 2:19 ` [PATCH v2 02/15] ring-buffer: Page size per ring buffer Steven Rostedt
2023-12-13 2:19 ` [PATCH v2 03/15] ring-buffer: Add interface for configuring trace sub buffer size Steven Rostedt
2023-12-13 2:19 ` [PATCH v2 04/15] ring-buffer: Set new size of the ring buffer sub page Steven Rostedt
2023-12-13 2:19 ` [PATCH v2 05/15] ring-buffer: Read and write to ring buffers with custom sub buffer size Steven Rostedt
2023-12-13 2:19 ` [PATCH v2 06/15] ring-buffer: Clear pages on error in ring_buffer_subbuf_order_set() failure Steven Rostedt
2023-12-13 2:19 ` [PATCH v2 07/15] ring-buffer: Do no swap cpu buffers if order is different Steven Rostedt
2023-12-13 2:19 ` [PATCH v2 08/15] ring-buffer: Make sure the spare sub buffer used for reads has same size Steven Rostedt
2023-12-13 2:19 ` [PATCH v2 09/15] tracing: Update snapshot order along with main buffer order Steven Rostedt
2023-12-13 2:19 ` [PATCH v2 10/15] tracing: Stop the tracing while changing the ring buffer subbuf size Steven Rostedt
2023-12-13 2:19 ` [PATCH v2 11/15] ring-buffer: Keep the same size when updating the order Steven Rostedt
2023-12-13 2:19 ` [PATCH v2 12/15] ring-buffer: Just update the subbuffers when changing their allocation order Steven Rostedt
2023-12-13 2:19 ` [PATCH v2 13/15] ring-buffer: Add documentation on the buffer_subbuf_order file Steven Rostedt
2023-12-13 2:19 ` [PATCH v2 14/15] ringbuffer/selftest: Add basic selftest to test changing subbuf order Steven Rostedt
2023-12-13 2:19 ` [PATCH v2 15/15] tracing: Update subbuffer with kilobytes not page order 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=20231213022008.302634297@goodmis.org \
--to=rostedt@goodmis.org \
--cc=akpm@linux-foundation.org \
--cc=kent.overstreet@gmail.com \
--cc=linux-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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.