perf intel-pt: Fix async branch flags

Message ID 20230928072953.19369-1-adrian.hunter@intel.com
State New
Headers
Series perf intel-pt: Fix async branch flags |

Commit Message

Adrian Hunter Sept. 28, 2023, 7:29 a.m. UTC
  Ensure PERF_IP_FLAG_ASYNC is set always for asynchronous branches (i.e.
interrupts etc).

Fixes: 90e457f7be08 ("perf tools: Add Intel PT support")
Cc: stable@vger.kernel.org
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
---
 tools/perf/util/intel-pt.c | 2 ++
 1 file changed, 2 insertions(+)
  

Comments

Namhyung Kim Sept. 30, 2023, 6:40 a.m. UTC | #1
On Thu, Sep 28, 2023 at 12:30 AM Adrian Hunter <adrian.hunter@intel.com> wrote:
>
> Ensure PERF_IP_FLAG_ASYNC is set always for asynchronous branches (i.e.
> interrupts etc).
>
> Fixes: 90e457f7be08 ("perf tools: Add Intel PT support")
> Cc: stable@vger.kernel.org
> Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>

Acked-by: Namhyung Kim <namhyung@kernel.org>

Thanks,
Namhyung


> ---
>  tools/perf/util/intel-pt.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/tools/perf/util/intel-pt.c b/tools/perf/util/intel-pt.c
> index dbf0bc71a63b..f38893e0b036 100644
> --- a/tools/perf/util/intel-pt.c
> +++ b/tools/perf/util/intel-pt.c
> @@ -1512,9 +1512,11 @@ static void intel_pt_sample_flags(struct intel_pt_queue *ptq)
>         } else if (ptq->state->flags & INTEL_PT_ASYNC) {
>                 if (!ptq->state->to_ip)
>                         ptq->flags = PERF_IP_FLAG_BRANCH |
> +                                    PERF_IP_FLAG_ASYNC |
>                                      PERF_IP_FLAG_TRACE_END;
>                 else if (ptq->state->from_nr && !ptq->state->to_nr)
>                         ptq->flags = PERF_IP_FLAG_BRANCH | PERF_IP_FLAG_CALL |
> +                                    PERF_IP_FLAG_ASYNC |
>                                      PERF_IP_FLAG_VMEXIT;
>                 else
>                         ptq->flags = PERF_IP_FLAG_BRANCH | PERF_IP_FLAG_CALL |
> --
> 2.34.1
>
>
  
Namhyung Kim Oct. 3, 2023, 4:11 a.m. UTC | #2
On Fri, Sep 29, 2023 at 11:40 PM Namhyung Kim <namhyung@kernel.org> wrote:
>
> On Thu, Sep 28, 2023 at 12:30 AM Adrian Hunter <adrian.hunter@intel.com> wrote:
> >
> > Ensure PERF_IP_FLAG_ASYNC is set always for asynchronous branches (i.e.
> > interrupts etc).
> >
> > Fixes: 90e457f7be08 ("perf tools: Add Intel PT support")
> > Cc: stable@vger.kernel.org
> > Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
>
> Acked-by: Namhyung Kim <namhyung@kernel.org>

Applied to perf-tools-next, thanks!
  

Patch

diff --git a/tools/perf/util/intel-pt.c b/tools/perf/util/intel-pt.c
index dbf0bc71a63b..f38893e0b036 100644
--- a/tools/perf/util/intel-pt.c
+++ b/tools/perf/util/intel-pt.c
@@ -1512,9 +1512,11 @@  static void intel_pt_sample_flags(struct intel_pt_queue *ptq)
 	} else if (ptq->state->flags & INTEL_PT_ASYNC) {
 		if (!ptq->state->to_ip)
 			ptq->flags = PERF_IP_FLAG_BRANCH |
+				     PERF_IP_FLAG_ASYNC |
 				     PERF_IP_FLAG_TRACE_END;
 		else if (ptq->state->from_nr && !ptq->state->to_nr)
 			ptq->flags = PERF_IP_FLAG_BRANCH | PERF_IP_FLAG_CALL |
+				     PERF_IP_FLAG_ASYNC |
 				     PERF_IP_FLAG_VMEXIT;
 		else
 			ptq->flags = PERF_IP_FLAG_BRANCH | PERF_IP_FLAG_CALL |