Messages in this thread | | | Date | Tue, 18 Feb 2020 11:49:34 -0700 | From | Mathieu Poirier <> | Subject | Re: [PATCH v4 0/5] perf cs-etm: Fix synthesizing instruction samples |
| |
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.
Thanks, Mathieu
> > tools/perf/util/cs-etm.c | 157 +++++++++++++++++++++++++++------------ > 1 file changed, 111 insertions(+), 46 deletions(-) > > -- > 2.17.1 >
| |