mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-16 14:51:51 -04:00
ring-buffer: Add page statistics to the meta-page
Add two fields pages_touched and pages_lost to the ring-buffer meta-page. Those fields are useful to get the number of used pages in the ring-buffer. Link: https://patch.msgid.link/20260309162516.2623589-2-vdonnefort@google.com Reviewed-by: Steven Rostedt (Google) <rostedt@goodmis.org> Signed-off-by: Vincent Donnefort <vdonnefort@google.com> Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
This commit is contained in:
committed by
Steven Rostedt (Google)
parent
1f318b96cc
commit
7d776a3627
@@ -17,8 +17,8 @@
|
||||
* @entries: Number of entries in the ring-buffer.
|
||||
* @overrun: Number of entries lost in the ring-buffer.
|
||||
* @read: Number of entries that have been read.
|
||||
* @Reserved1: Internal use only.
|
||||
* @Reserved2: Internal use only.
|
||||
* @pages_lost: Number of pages overwritten by the writer.
|
||||
* @pages_touched: Number of pages written by the writer.
|
||||
*/
|
||||
struct trace_buffer_meta {
|
||||
__u32 meta_page_size;
|
||||
@@ -39,8 +39,8 @@ struct trace_buffer_meta {
|
||||
__u64 overrun;
|
||||
__u64 read;
|
||||
|
||||
__u64 Reserved1;
|
||||
__u64 Reserved2;
|
||||
__u64 pages_lost;
|
||||
__u64 pages_touched;
|
||||
};
|
||||
|
||||
#define TRACE_MMAP_IOCTL_GET_READER _IO('R', 0x20)
|
||||
|
||||
@@ -6154,6 +6154,8 @@ static void rb_update_meta_page(struct ring_buffer_per_cpu *cpu_buffer)
|
||||
meta->entries = local_read(&cpu_buffer->entries);
|
||||
meta->overrun = local_read(&cpu_buffer->overrun);
|
||||
meta->read = cpu_buffer->read;
|
||||
meta->pages_lost = local_read(&cpu_buffer->pages_lost);
|
||||
meta->pages_touched = local_read(&cpu_buffer->pages_touched);
|
||||
|
||||
/* Some archs do not have data cache coherency between kernel and user-space */
|
||||
flush_kernel_vmap_range(cpu_buffer->meta_page, PAGE_SIZE);
|
||||
|
||||
Reference in New Issue
Block a user