From: Steven Rostedt <rostedt@goodmis.org>
To: linux-kernel@vger.kernel.org, linux-trace-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 01/14] ring-buffer: Refactor ring buffer implementation
Date: Sat, 09 Dec 2023 22:54:05 -0500 [thread overview]
Message-ID: <20231210040448.569462486@goodmis.org> (raw)
In-Reply-To: 20231210035404.053677508@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 3a5026702179..d59d14e67da1 100644
--- a/kernel/trace/ring_buffer.c
+++ b/kernel/trace/ring_buffer.c
@@ -381,36 +381,6 @@ static inline bool test_time_stamp(u64 delta)
/* Events may have a timestamp attached to them */
#define BUF_MAX_EVENT_SIZE (BUF_MAX_DATA_SIZE - RB_LEN_TIME_EXTEND)
-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;
@@ -576,6 +546,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-10 4:04 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-10 3:54 [PATCH 00/14] ring-buffer/tracing: Allow ring buffer to have bigger sub buffers Steven Rostedt
2023-12-10 3:54 ` Steven Rostedt [this message]
2023-12-10 3:54 ` [PATCH 02/14] ring-buffer: Page size per ring buffer Steven Rostedt
2023-12-10 3:54 ` [PATCH 03/14] ring-buffer: Add interface for configuring trace sub buffer size Steven Rostedt
2023-12-10 3:54 ` [PATCH 04/14] ring-buffer: Set new size of the ring buffer sub page Steven Rostedt
2023-12-10 3:54 ` [PATCH 05/14] ring-buffer: Read and write to ring buffers with custom sub buffer size Steven Rostedt
2023-12-10 3:54 ` [PATCH 06/14] ring-buffer: Clear pages on error in ring_buffer_subbuf_order_set() failure Steven Rostedt
2023-12-10 3:54 ` [PATCH 07/14] ring-buffer: Do no swap cpu buffers if order is different Steven Rostedt
2023-12-10 3:54 ` [PATCH 08/14] ring-buffer: Make sure the spare sub buffer used for reads has same size Steven Rostedt
2023-12-10 3:54 ` [PATCH 09/14] tracing: Update snapshot order along with main buffer order Steven Rostedt
2023-12-10 3:54 ` [PATCH 10/14] tracing: Stop the tracing while changing the ring buffer subbuf size Steven Rostedt
2023-12-10 3:54 ` [PATCH 11/14] ring-buffer: Keep the same size when updating the order Steven Rostedt
2023-12-10 3:54 ` [PATCH 12/14] ring-buffer: Just update the subbuffers when changing their allocation order Steven Rostedt
2023-12-10 3:54 ` [PATCH 13/14] ring-buffer: Add documentation on the buffer_subbuf_order file Steven Rostedt
2023-12-10 14:28 ` Mathieu Desnoyers
2023-12-10 3:54 ` [PATCH 14/14] ringbuffer/selftest: Add basic selftest to test chaning subbuf order Steven Rostedt
2023-12-10 14:26 ` Mathieu Desnoyers
2023-12-10 15:44 ` Steven Rostedt
2023-12-10 14:17 ` [PATCH 00/14] ring-buffer/tracing: Allow ring buffer to have bigger sub buffers Mathieu Desnoyers
2023-12-10 15:38 ` 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=20231210040448.569462486@goodmis.org \
--to=rostedt@goodmis.org \
--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).