* [RFC] tracing: aggregate ring-buffer usage statistics @ 2026-08-11 11:48 Xiang Gao 2026-08-11 14:08 ` Steven Rostedt 0 siblings, 1 reply; 4+ messages in thread From: Xiang Gao @ 2026-08-11 11:48 UTC (permalink / raw) To: Steven Rostedt Cc: Masami Hiramatsu, Mathieu Desnoyers, Lorenzo Stoakes, gao xu, yinchuang1, linux-trace-kernel, linux-kernel, linux-mm, Xiang Gao Hi, I would like to clarify the motivation for a tracing-specific memory usage interface. The original requirement comes from Android lost-RAM attribution. Ftrace ring-buffer data pages are not represented as a separate memory category, so userspace memory diagnostics may treat them as lost RAM. The memory can be spread across the global trace array, dynamically created tracing instances, and snapshot buffers. Userspace can read buffer_total_size_kb for the global trace array and each instance, but it has to discover and sum all instances, and snapshot buffer capacity is not exposed through the same per-instance total. On one Android device, the global buffer and 24 tracing instances accounted for 395,664 kB of ring-buffer data capacity. This makes the missing attribution significant for low-memory diagnostics. The core requirement is a stable tracing-specific interface that allows userspace to obtain the aggregate tracing buffer usage without walking all instances. It does not need to be part of /proc/meminfo or show_mem(). One possible interface would be under: /sys/kernel/tracing/trace_stats/ It could provide an aggregate buffer value together with a breakdown for main and snapshot buffers. Per-CPU statistics could also be added if useful. Thanks, Xiang ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [RFC] tracing: aggregate ring-buffer usage statistics 2026-08-11 11:48 [RFC] tracing: aggregate ring-buffer usage statistics Xiang Gao @ 2026-08-11 14:08 ` Steven Rostedt [not found] ` <cd441eb194d54265b1bf9ab659716c45@xiaomi.com> 0 siblings, 1 reply; 4+ messages in thread From: Steven Rostedt @ 2026-08-11 14:08 UTC (permalink / raw) To: Xiang Gao Cc: Masami Hiramatsu, Mathieu Desnoyers, Lorenzo Stoakes, gao xu, yinchuang1, linux-trace-kernel, linux-kernel, linux-mm, Xiang Gao On Tue, 11 Aug 2026 19:48:18 +0800 Xiang Gao <gxxa03070307@gmail.com> wrote: > One possible interface would be under: > > /sys/kernel/tracing/trace_stats/ > > It could provide an aggregate buffer value together with a breakdown > for main and snapshot buffers. Per-CPU statistics could also be added > if useful. As I previous said. I'm OK with adding a file there. -- Steve ^ permalink raw reply [flat|nested] 4+ messages in thread
[parent not found: <cd441eb194d54265b1bf9ab659716c45@xiaomi.com>]
* Re: [External Mail]Re: [RFC] tracing: aggregate ring-buffer usage statistics [not found] ` <cd441eb194d54265b1bf9ab659716c45@xiaomi.com> @ 2026-08-12 15:47 ` Steven Rostedt [not found] ` <d5bb28119dbb4ff1ab1059bb2564ad29@xiaomi.com> 0 siblings, 1 reply; 4+ messages in thread From: Steven Rostedt @ 2026-08-12 15:47 UTC (permalink / raw) To: 高翔 Cc: Xiang Gao, Masami Hiramatsu, Mathieu Desnoyers, Lorenzo Stoakes, gao xu, 印闯, linux-trace-kernel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org On Wed, 12 Aug 2026 13:21:29 +0000 高翔 <gaoxiang17@xiaomi.com> wrote: > Thanks, Steve. > > For the initial implementation, I plan to add: > > /sys/kernel/tracing/trace_stats/total_memory_kb > > The file would use an extensible key/value format. Initially it would > report the ring-buffer data capacity: > > total: 395664 > ring_buffer: 395664 > ring_buffer_live: 395544 > ring_buffer_snapshot: 120 You can rename the above to: total: buffers_mem: snapshot_buffers_mem: No need to use "ring" and it keeps consistent with "buffer_size_kb". I added the "mem" part to distinguish the difference between these numbers and the buffer_size_kb, as these numbers are about total memory whereas the "buffer_size_kb" is about usable memory. There's already a total for all memory listed. We don't need to have a total for the "live" and "snapshot". > > Here, ring_buffer is the sum of ring_buffer_live and > ring_buffer_snapshot. The values cover the global trace array and all > tracing instances across all tracing CPUs. > > Additional accounted categories, such as event memory, could be appended > later and included in total. Per-CPU statistics could be exposed > separately under trace_stats/per_cpu/cpuN/ to avoid mixing aggregate and > per-CPU values in one file. Agreed, this file should exist in the cpuN/ directories and be only for those instances. > > Userspace would parse fields by name and ignore unknown fields, so new > categories can be added without changing the existing format. Right. I would expect additional items to be added here. > > Does this initial format look reasonable? > Yes, thanks for doing this. -- Steve ^ permalink raw reply [flat|nested] 4+ messages in thread
[parent not found: <d5bb28119dbb4ff1ab1059bb2564ad29@xiaomi.com>]
[parent not found: <0e42953988164786aafe175ef0f4e745@xiaomi.com>]
[parent not found: <11242d2e40eb4fd4b439ac66ebbe26ed@xiaomi.com>]
* Re: [External Mail]Re: [RFC] tracing: aggregate ring-buffer usage statistics [not found] ` <11242d2e40eb4fd4b439ac66ebbe26ed@xiaomi.com> @ 2026-08-18 14:24 ` Steven Rostedt 0 siblings, 0 replies; 4+ messages in thread From: Steven Rostedt @ 2026-08-18 14:24 UTC (permalink / raw) To: 高翔 Cc: Xiang Gao, Masami Hiramatsu, Mathieu Desnoyers, Lorenzo Stoakes, gao xu, 印闯, linux-trace-kernel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org On Tue, 18 Aug 2026 13:30:26 +0000 高翔 <gaoxiang17@xiaomi.com> wrote: > Hi Steve, > > > Just a gentle ping. I have the RFC patch ready for > trace_stats/total_memory_kb, with the buffers_mem and > snapshot_buffers_mem breakdown. > > > Would you prefer I post the RFC patch for review, or is there anything > you would like to clarify about the accounting scope first? I'm traveling this week. Can you send another RFC next week. Thanks, -- Steve ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-08-18 14:25 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-11 11:48 [RFC] tracing: aggregate ring-buffer usage statistics Xiang Gao
2026-08-11 14:08 ` Steven Rostedt
[not found] ` <cd441eb194d54265b1bf9ab659716c45@xiaomi.com>
2026-08-12 15:47 ` [External Mail]Re: " Steven Rostedt
[not found] ` <d5bb28119dbb4ff1ab1059bb2564ad29@xiaomi.com>
[not found] ` <0e42953988164786aafe175ef0f4e745@xiaomi.com>
[not found] ` <11242d2e40eb4fd4b439ac66ebbe26ed@xiaomi.com>
2026-08-18 14:24 ` Steven Rostedt
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox