Messages in this thread | | | From | Arnaldo Carvalho de Melo <> | Date | Tue, 18 Feb 2020 16:30:11 -0300 | Subject | Re: [PATCH v4 0/5] perf cs-etm: Fix synthesizing instruction samples |
| |
Em Tue, Feb 18, 2020 at 11:49:34AM -0700, Mathieu Poirier escreveu: > On Thu, Feb 13, 2020 at 05:41:59PM +0800, Leo Yan wrote: > > This patch series is to address issues for synthesizing instruction > > samples, especially when the instruction sample period is small enough, > > the current logic cannot synthesize multiple instruction samples within > > one instruction range packet. > > > > Patch 0001 is to swap packets for instruction samples, so this allow > > option '--itrace=iNNN' can work well. > > > > Patch 0002 avoids to reset the last branches for every instruction > > sample; if reset the last branches for every time generating sample, the > > later samples in the same range packet cannot use the last branches > > anymore. > > > > Patch 0003 is the fixing for handling different instruction periods, > > especially for small sample period. > > > > Patch 0004 is an optimization for copying last branches; it only copies > > last branches once if the instruction samples share the same last > > branches. > > > > Patch 0005 is a minor fix for unsigned variable comparison to zero. > > > > This patch set has been rebased on the latest perf/core branch; and > > verified on Juno board with below commands: > > > > # perf script --itrace=i2 > > # perf script --itrace=i2il16 > > # perf inject --itrace=i2il16 -i perf.data -o perf.data.new > > # perf inject --itrace=i100il16 -i perf.data -o perf.data.new > > > > Changes from v3: > > * Refactored patch 0001 with new function cs_etm__packet_swap() (Mike); > > * Refined instruction sample generation flow with single while loop, > > which completely uses Mike's suggestions (Mike); > > * Added Mike's review tags for patch 01/02/04/05. > > > > Changes from v2: > > * Added patch 0001 which is to fix swapping packets for instruction > > samples; > > * Refined minor commit logs and comments; > > * Rebased on the latest perf/core branch. > > > > Changes from v1: > > * Rebased patch set on perf/core branch with latest commit 9fec3cd5fa4a > > ("perf map: Check if the map still has some refcounts on exit"). > > > > > > > > Leo Yan (5): > > perf cs-etm: Swap packets for instruction samples > > perf cs-etm: Continuously record last branch > > perf cs-etm: Correct synthesizing instruction samples > > perf cs-etm: Optimize copying last branches > > perf cs-etm: Fix unsigned variable comparison to zero > > For all the patches in this set: > > Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org> > > Unless Arnaldo says otherwise, I suggest you send a new V5 with Mike's RB for > patch 3/5 and mine for all of them. That way he doesn't have to edit the > patches when applying them.
Yeah, that would make things easier for me, always appreciated.
- Arnaldo
> Thanks, > Mathieu > > > > > tools/perf/util/cs-etm.c | 157 +++++++++++++++++++++++++++------------ > > 1 file changed, 111 insertions(+), 46 deletions(-) > > > > -- > > 2.17.1 > >
--
- Arnaldo
| |