trace-cmd: Adjust host_trace_info structure to be better packed
Move the unsigned long long trace_id out from between the boolean
sync_enable and the int ts_samples_count, which removes the gap in the
structure, making the structure size drop from 32 bytes to 24, as displayed
by pahole.
Before:
struct host_trace_info {
_Bool sync_enable; /* 0 1 */
/* XXX 7 bytes hole, try to pack */
long long unsigned int trace_id; /* 8 8 */
int ts_samples_count; /* 16 4 */
/* XXX 4 bytes hole, try to pack */
struct ts_offset_sample * ts_samples; /* 24 8 */
/* size: 32, cachelines: 1, members: 4 */
/* sum members: 21, holes: 2, sum holes: 11 */
/* last cacheline: 32 bytes */
};
After:
struct host_trace_info {
long long unsigned int trace_id; /* 0 8 */
_Bool sync_enable; /* 8 1 */
/* XXX 3 bytes hole, try to pack */
int ts_samples_count; /* 12 4 */
struct ts_offset_sample * ts_samples; /* 16 8 */
/* size: 24, cachelines: 1, members: 4 */
/* sum members: 21, holes: 1, sum holes: 3 */
/* last cacheline: 24 bytes */
};
Link: http://lore.kernel.org/linux-trace-devel/20200305124655.0738a585@gandalf.local.home
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
1 file changed