RE: [PATCH RFC V3 3/5] perf,tool: partial time support
From: Liang, Kan
Date: Mon Jul 13 2015 - 15:02:20 EST
> Hi,
>
> (CC-ing Adrian)
>
> On Wed, Jul 08, 2015 at 04:44:55AM -0400, kan.liang@xxxxxxxxx wrote:
> > From: Kan Liang <kan.liang@xxxxxxxxx>
> >
> > When multiple events are sampled it may not be needed to collect fine
> > grained time stamps on all events. The sample sites are usually nearby.
> > It's enough to have time stamps on the regular reference events.
> > This patchkit adds the ability to turn off time stamps per event. This
> > in term can reduce sampling overhead and the size of the perf.data.
>
> So this patch makes the PERF_SAMPLE_TIME bit set or not independently,
> right? But AFAIK we sometimes just use first evsel for checking
> sample_type value, especially for evlist->id_pos. I'm not sure it'll work for
> all cases of mixed time/notime events..
>
If the sample_type is different, IDENTIFIER will be set to make sure id is in
a fixed position. So we don't need to worry about evlist->id_pos here.
I think the only unsupported case should be that the kernel doesn't
support IDENTIFIER. If so, under my test, perf record will print warning
" failed to process type". Perf report will also print warning
" non matching sample_type". So the user can switch back to full time
support.
If you think the warning is not good enough, we can show specific
warning and error out when non IDENTIFIER support is detected.
Thanks,
Kan