Thread (35 messages) 35 messages, 4 authors, 2023-08-23

Re: [RFC PATCH v6 3/5] sched, tracing: reorganize fields of switch event struct

From: Peter Zijlstra <peterz@infradead.org>
Date: 2023-08-03 09:52:15
Also in: linux-perf-users, lkml

On Thu, Aug 03, 2023 at 05:18:26AM -0400, Steven Rostedt wrote:
On Thu,  3 Aug 2023 04:33:50 -0400
Ze Gao [off-list ref] wrote:
quoted
Report prioritiy and prev_state in 'short' to save some buffer
space. And also reorder the fields so that we take struct
alignment into consideration to make the record compact.
If I were to write this, I would have wrote:

  The prev_state field in the sched_switch event is assigned by
  __trace_sched_switch_state(). The largest number that function will return
  is TASK_REPORT_MAX which is just 0x100. There's no reason that the
  prev_state field is a full 32 bits when it is using just 9 bits max. In
  order to save space on the ring buffer, shrink the prev_state to 16 bits
  (short).

  Also, change the positions of the other fields to accommodate the short
  value of prev_state to eliminate any holes that were created in the
  structure.

See the difference?
This also doesn't mention you broke the data format for all trace events
a while back to ensure people are using libtracefs and are thus
confident this won't break things.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help