Messages in this thread | | | From | Mathieu Poirier <> | Date | Thu, 31 Oct 2019 11:14:15 -0600 | Subject | Re: [PATCH v1 0/4] perf cs-etm: Fix synthesizing instruction samples |
| |
On Thu, 24 Oct 2019 at 09:15, Leo Yan <leo.yan@linaro.org> wrote: > > This patch series is to address the issue 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. > > To fix this issue, patch 0001 avoids to reset the last branches for > every instruction sample; if reset the last branches when every time > generate instruction sample, then the later samples in the same range > packet cannot use the last branches anymore. > > Patch 0002 is the main patch to fix the logic for synthesizing > instruction samples; it allows to handle different instruction periods. > > Patch 0003 is an optimization for copying last branches; it only copies > last branches once if the instruction samples share the same last > branches. > > Patch 0004 is a minor fix for unsigned variable comparison to zero. > > To verify my changing for synthesizing instruction samples, I added > some logs in the code, and reviewed the output log manually for > instuctions samples. The below commands are tested on DB410c board: > > # perf script --itrace=i2 > # perf script --itrace=i2li16 > # perf inject --itrace=i2il16 -i perf.data -o perf.data.new > # perf inject --itrace=i100il16 -i perf.data -o perf.data.new > > > Leo Yan (4): > perf cs-etm: Continuously record last branches > perf cs-etm: Correct synthesizing instruction samples > perf cs-etm: Optimize copying last branches > perf cs-etm: Fix unsigned variable comparison to zero
I have reviewed and agree with the changes in this set but won't move forward until Mike has looked at patch 2/4.
Thanks, Mathieu
> > tools/perf/util/cs-etm.c | 137 ++++++++++++++++++++++++++++++++------- > 1 file changed, 115 insertions(+), 22 deletions(-) > > -- > 2.17.1 >
| |