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