perf intel-pt: Fix async branch flags
authorAdrian Hunter <adrian.hunter@intel.com>
Thu, 28 Sep 2023 07:29:53 +0000 (10:29 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 28 Nov 2023 17:19:55 +0000 (17:19 +0000)
commit f2d87895cbc4af80649850dcf5da36de6b2ed3dd upstream.

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>
Link: https://lore.kernel.org/r/20230928072953.19369-1-adrian.hunter@intel.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
tools/perf/util/intel-pt.c

index dbf0bc7..f38893e 100644 (file)
@@ -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 |