On Wed, 8 Apr 2026 23:32:40 +0800 Cao Ruichuang <[email protected]> wrote:
> trace_marker_raw currently records its bytes in TRACE_RAW_DATA events, > but the event output path derives the byte count from the padded record > size in the ring buffer. As a result, the printed raw-data payload is > rounded up and small writes do not preserve their true length. > > Keep the true payload length in the TRACE_RAW_DATA event itself and use > that field when printing the bytes. This leaves the ring buffer record > size semantics unchanged while letting trace_marker_raw report the exact > payload that was written. May I ask why? The above describes what is happening but fails to leave out the why? Why does the payload length need to be added to the event? I mean, it's recording raw data, and the user who writes to it already knows the length as this was made for applications to write structures directly into the buffer. When reading back from the buffer the structure size is the length. Thus, why record the length? I see no reason to. The length wastes precious space in the ring buffer when the user of trace_marker_raw should already know its length. -- Steve
