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

From: Du, Changbin
Date: Tue Mar 06 2018 - 21:38:09 EST


On Tue, Mar 06, 2018 at 11:17:07AM -0300, Arnaldo Carvalho de Melo wrote:
> 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]#

Hi Arnaldo, thanks for your patient optimization for this!

--
Thanks,
Changbin Du