Re: [PATCH v2 0/2] perf sched map: re-annotate shortname if thread comm changed

From: Arnaldo Carvalho de Melo
Date: Tue Mar 06 2018 - 09:17:13 EST


Em Tue, Mar 06, 2018 at 08:53:02AM +0100, Jiri Olsa escreveu:
> On Tue, Mar 06, 2018 at 11:37:35AM +0800, changbin.du@xxxxxxxxx wrote:
> > From: Changbin Du <changbin.du@xxxxxxxxx>
> >
> > v2:
> > o add a patch to move thread::shortname to thread_runtime
> > o add function perf_sched__process_comm() to process PERF_RECORD_COMM event.
> >
> > Changbin Du (2):
> > perf sched: move thread::shortname to thread_runtime
> > perf sched map: re-annotate shortname if thread comm changed
>
> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>

Thanks, applied both, the final layout for 'struct thread_runtime':

[root@jouet perf]# pahole -C thread_runtime ~/bin/perf
struct thread_runtime {
u64 last_time; /* 0 8 */
u64 dt_run; /* 8 8 */
u64 dt_sleep; /* 16 8 */
u64 dt_iowait; /* 24 8 */
u64 dt_preempt; /* 32 8 */
u64 dt_delay; /* 40 8 */
u64 ready_to_run; /* 48 8 */
struct stats run_stats; /* 56 40 */
/* --- cacheline 1 boundary (64 bytes) was 32 bytes ago --- */
u64 total_run_time; /* 96 8 */
u64 total_sleep_time; /* 104 8 */
u64 total_iowait_time; /* 112 8 */
u64 total_preempt_time; /* 120 8 */
/* --- cacheline 2 boundary (128 bytes) --- */
u64 total_delay_time; /* 128 8 */
int last_state; /* 136 4 */
char shortname[3]; /* 140 3 */
_Bool comm_changed; /* 143 1 */
u64 migrations; /* 144 8 */

/* size: 152, cachelines: 3, members: 17 */
/* last cacheline: 24 bytes */
};
[root@jouet perf]#