From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: James Clark <james.clark@arm.com>
Cc: coresight@lists.linaro.org,
Suzuki K Poulose <suzuki.poulose@arm.com>,
Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linaro.org>,
Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@redhat.com>,
Mark Rutland <mark.rutland@arm.com>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Jiri Olsa <jolsa@kernel.org>, Namhyung Kim <namhyung@kernel.org>,
Ian Rogers <irogers@google.com>,
Adrian Hunter <adrian.hunter@intel.com>,
John Garry <john.g.garry@oracle.com>,
Will Deacon <will@kernel.org>,
linux-arm-kernel@lists.infradead.org,
linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 0/5] perf cs-etm: Track exception level
Date: Tue, 13 Jun 2023 16:42:49 -0300 [thread overview]
Message-ID: <ZIjGubrXqQ8IIqDm@kernel.org> (raw)
In-Reply-To: <94e91db2-182e-836f-2edc-f804c4bb7290@arm.com>
Em Tue, Jun 13, 2023 at 09:56:29AM +0100, James Clark escreveu:
>
>
> On 12/06/2023 19:32, Arnaldo Carvalho de Melo wrote:
> > Em Mon, Jun 12, 2023 at 12:13:57PM +0100, James Clark escreveu:
> >> Changes since v2:
> >>
> >> * Rename prev_thread -> prev_packet_thread and prev_el ->
> >> prev_packet_el
> >> * Add a comment about tracking the previous packet's thread
> >>
> >> Changes since v1:
> >>
> >> * Always assume host kernel when the trace was captured at EL1 (nVHE)
> >> * Fix EL validation to work with ETMv3
> >> * Add a commit to make PID format accessible from struct
> >> cs_etm_auxtrace
> >
> > Please take a look in my tmp.perf-tools-next branch, there were some
> > conflicts I had to fix as those files were touched by refactorings for
> > addr_location and thread reference counting.
> >
>
> Yeah I got the same result and the tests are still passing. Thanks for
> fixing those.
Thanks for double checking that!
- Arnaldo
> > ⬢[acme@toolbox perf-tools-next]$ git log --oneline -10
> > aa53fb2c482e70c2 (HEAD -> perf-tools-next) perf cs-etm: Add exception level consistency check
> > 2918e9895224541f perf cs-etm: Track exception level
> > f492a33909829a75 perf cs-etm: Make PID format accessible from struct cs_etm_auxtrace
> > e29ec19b0751c6b2 perf cs-etm: Use previous thread for branch sample source IP
> > e9e03e9c3ca7088c perf cs-etm: Only track threads instead of PID and TIDs
> > 6fd34445b8c94aa7 perf map: Fix double 'struct map' reference free found with -DREFCNT_CHECKING=1
> > e9c0a7f63e45e76f perf srcline: Optimize comparision against SRCLINE_UNKNOWN
> > fd87a79c7ed62804 perf hist: Fix srcline memory leak
> > 933f9651d47cdda2 perf srcline: Change free_srcline to zfree_srcline
> > d22cfb063bcc674e perf callchain: Use pthread keys for tls callchain_cursor
> > ⬢[acme@toolbox perf-tools-next]$
> >
> >
> > - Arnaldo
> >
> >> ======
> >>
> >> Some fixes to support an issue reported by Denis Nikitin where decoding
> >> trace that contains different EL1 and EL2 kernels can crash or go into
> >> an infinite loop because the wrong kernel maps are used for the decode.
> >>
> >> This still doesn't support distinguishing guest and host userspace,
> >> we'd still have to fix the timestamps and do a bit more work to
> >> correlate that. And I've removed PERF_RECORD_MISC_HYPERVISOR as a
> >> possible outcome of cs_etm__cpu_mode(). As far as I know this could
> >> never have been returned anyway because machine__is_host(machine) was
> >> always true due to session.machines.host being hard coded. And I'm not
> >> sure of the relevance of the difference between PERF_RECORD_MISC_KERNEL
> >> and PERF_RECORD_MISC_HYPERVISOR in this scenario.
> >>
> >> The first commit is a tidy up, second fixes a bug that I found when
> >> comparing the exception level and thread of branch records, the third
> >> is the main fix, and the last commit is some extra error checking.
> >>
> >> Applies to acme/perf-tools-next (42713dafc)
> >>
> >> James Clark (5):
> >> perf cs-etm: Only track threads instead of PID and TIDs
> >> perf cs-etm: Use previous thread for branch sample source IP
> >> perf cs-etm: Make PID format accessible from struct cs_etm_auxtrace
> >> perf cs-etm: Track exception level
> >> perf cs-etm: Add exception level consistency check
> >>
> >> .../perf/util/cs-etm-decoder/cs-etm-decoder.c | 33 +-
> >> .../perf/util/cs-etm-decoder/cs-etm-decoder.h | 4 +-
> >> tools/perf/util/cs-etm.c | 282 ++++++++++--------
> >> tools/perf/util/cs-etm.h | 13 +-
> >> 4 files changed, 184 insertions(+), 148 deletions(-)
> >>
> >> --
> >> 2.34.1
> >>
> >
--
- Arnaldo
WARNING: multiple messages have this Message-ID (diff)
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: James Clark <james.clark@arm.com>
Cc: coresight@lists.linaro.org,
Suzuki K Poulose <suzuki.poulose@arm.com>,
Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linaro.org>,
Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@redhat.com>,
Mark Rutland <mark.rutland@arm.com>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Jiri Olsa <jolsa@kernel.org>, Namhyung Kim <namhyung@kernel.org>,
Ian Rogers <irogers@google.com>,
Adrian Hunter <adrian.hunter@intel.com>,
John Garry <john.g.garry@oracle.com>,
Will Deacon <will@kernel.org>,
linux-arm-kernel@lists.infradead.org,
linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 0/5] perf cs-etm: Track exception level
Date: Tue, 13 Jun 2023 16:42:49 -0300 [thread overview]
Message-ID: <ZIjGubrXqQ8IIqDm@kernel.org> (raw)
In-Reply-To: <94e91db2-182e-836f-2edc-f804c4bb7290@arm.com>
Em Tue, Jun 13, 2023 at 09:56:29AM +0100, James Clark escreveu:
>
>
> On 12/06/2023 19:32, Arnaldo Carvalho de Melo wrote:
> > Em Mon, Jun 12, 2023 at 12:13:57PM +0100, James Clark escreveu:
> >> Changes since v2:
> >>
> >> * Rename prev_thread -> prev_packet_thread and prev_el ->
> >> prev_packet_el
> >> * Add a comment about tracking the previous packet's thread
> >>
> >> Changes since v1:
> >>
> >> * Always assume host kernel when the trace was captured at EL1 (nVHE)
> >> * Fix EL validation to work with ETMv3
> >> * Add a commit to make PID format accessible from struct
> >> cs_etm_auxtrace
> >
> > Please take a look in my tmp.perf-tools-next branch, there were some
> > conflicts I had to fix as those files were touched by refactorings for
> > addr_location and thread reference counting.
> >
>
> Yeah I got the same result and the tests are still passing. Thanks for
> fixing those.
Thanks for double checking that!
- Arnaldo
> > ⬢[acme@toolbox perf-tools-next]$ git log --oneline -10
> > aa53fb2c482e70c2 (HEAD -> perf-tools-next) perf cs-etm: Add exception level consistency check
> > 2918e9895224541f perf cs-etm: Track exception level
> > f492a33909829a75 perf cs-etm: Make PID format accessible from struct cs_etm_auxtrace
> > e29ec19b0751c6b2 perf cs-etm: Use previous thread for branch sample source IP
> > e9e03e9c3ca7088c perf cs-etm: Only track threads instead of PID and TIDs
> > 6fd34445b8c94aa7 perf map: Fix double 'struct map' reference free found with -DREFCNT_CHECKING=1
> > e9c0a7f63e45e76f perf srcline: Optimize comparision against SRCLINE_UNKNOWN
> > fd87a79c7ed62804 perf hist: Fix srcline memory leak
> > 933f9651d47cdda2 perf srcline: Change free_srcline to zfree_srcline
> > d22cfb063bcc674e perf callchain: Use pthread keys for tls callchain_cursor
> > ⬢[acme@toolbox perf-tools-next]$
> >
> >
> > - Arnaldo
> >
> >> ======
> >>
> >> Some fixes to support an issue reported by Denis Nikitin where decoding
> >> trace that contains different EL1 and EL2 kernels can crash or go into
> >> an infinite loop because the wrong kernel maps are used for the decode.
> >>
> >> This still doesn't support distinguishing guest and host userspace,
> >> we'd still have to fix the timestamps and do a bit more work to
> >> correlate that. And I've removed PERF_RECORD_MISC_HYPERVISOR as a
> >> possible outcome of cs_etm__cpu_mode(). As far as I know this could
> >> never have been returned anyway because machine__is_host(machine) was
> >> always true due to session.machines.host being hard coded. And I'm not
> >> sure of the relevance of the difference between PERF_RECORD_MISC_KERNEL
> >> and PERF_RECORD_MISC_HYPERVISOR in this scenario.
> >>
> >> The first commit is a tidy up, second fixes a bug that I found when
> >> comparing the exception level and thread of branch records, the third
> >> is the main fix, and the last commit is some extra error checking.
> >>
> >> Applies to acme/perf-tools-next (42713dafc)
> >>
> >> James Clark (5):
> >> perf cs-etm: Only track threads instead of PID and TIDs
> >> perf cs-etm: Use previous thread for branch sample source IP
> >> perf cs-etm: Make PID format accessible from struct cs_etm_auxtrace
> >> perf cs-etm: Track exception level
> >> perf cs-etm: Add exception level consistency check
> >>
> >> .../perf/util/cs-etm-decoder/cs-etm-decoder.c | 33 +-
> >> .../perf/util/cs-etm-decoder/cs-etm-decoder.h | 4 +-
> >> tools/perf/util/cs-etm.c | 282 ++++++++++--------
> >> tools/perf/util/cs-etm.h | 13 +-
> >> 4 files changed, 184 insertions(+), 148 deletions(-)
> >>
> >> --
> >> 2.34.1
> >>
> >
--
- Arnaldo
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2023-06-13 19:43 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-12 11:13 [PATCH v3 0/5] perf cs-etm: Track exception level James Clark
2023-06-12 11:13 ` [PATCH v3 1/5] perf cs-etm: Only track threads instead of PID and TIDs James Clark
2023-06-12 11:13 ` [PATCH v3 2/5] perf cs-etm: Use previous thread for branch sample source IP James Clark
2023-06-12 11:14 ` [PATCH v3 3/5] perf cs-etm: Make PID format accessible from struct cs_etm_auxtrace James Clark
2023-06-12 11:14 ` [PATCH v3 4/5] perf cs-etm: Track exception level James Clark
2023-06-12 11:14 ` [PATCH v3 5/5] perf cs-etm: Add exception level consistency check James Clark
2023-06-12 18:32 ` [PATCH v3 0/5] perf cs-etm: Track exception level Arnaldo Carvalho de Melo
2023-06-12 18:32 ` Arnaldo Carvalho de Melo
2023-06-13 8:56 ` James Clark
2023-06-13 8:56 ` James Clark
2023-06-13 19:42 ` Arnaldo Carvalho de Melo [this message]
2023-06-13 19:42 ` Arnaldo Carvalho de Melo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZIjGubrXqQ8IIqDm@kernel.org \
--to=acme@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=coresight@lists.linaro.org \
--cc=irogers@google.com \
--cc=james.clark@arm.com \
--cc=john.g.garry@oracle.com \
--cc=jolsa@kernel.org \
--cc=leo.yan@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mike.leach@linaro.org \
--cc=mingo@redhat.com \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.org \
--cc=suzuki.poulose@arm.com \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.