[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20221201055103.302019-1-anshuman.khandual@arm.com>
Date: Thu, 1 Dec 2022 11:21:03 +0530
From: Anshuman Khandual <anshuman.khandual@....com>
To: linux-kernel@...r.kernel.org
Cc: james.clark@....com, Anshuman Khandual <anshuman.khandual@....com>,
Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...hat.com>,
Arnaldo Carvalho de Melo <acme@...nel.org>,
Mark Rutland <mark.rutland@....com>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Jiri Olsa <jolsa@...nel.org>,
Namhyung Kim <namhyung@...nel.org>,
linux-perf-users@...r.kernel.org
Subject: [PATCH] perf/core: Reset remaining bits in perf_clear_branch_entry_bitfields()
perf_clear_branch_entry_bitfields() resets all struct perf_branch_entry bit
fields before capturing branch records. This resets remaining bit fields
except 'new_type', which is valid only when 'type' is PERF_BR_EXTEND_ABI.
Cc: Peter Zijlstra <peterz@...radead.org>
Cc: Ingo Molnar <mingo@...hat.com>
Cc: Arnaldo Carvalho de Melo <acme@...nel.org>
Cc: Mark Rutland <mark.rutland@....com>
Cc: Alexander Shishkin <alexander.shishkin@...ux.intel.com>
Cc: Jiri Olsa <jolsa@...nel.org>
Cc: Namhyung Kim <namhyung@...nel.org>
Cc: linux-perf-users@...r.kernel.org>
Cc: linux-kernel@...r.kernel.org
Signed-off-by: Anshuman Khandual <anshuman.khandual@....com>
---
This applies on v6.1-rc6
'perf_branch_entry.new_type' can remain uninitialized as explained earlier.
Also there is no PERF_BR_NEW_UNKNOWN to spare, because 'perf_branch_entry.
new_type' enumeration starts at PERF_BR_NEW_FAULT_ALGN, to save a position
for the extended branch types instead.
include/linux/perf_event.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
index 0031f7b4d9ab..c97b5f6f77a4 100644
--- a/include/linux/perf_event.h
+++ b/include/linux/perf_event.h
@@ -1110,8 +1110,9 @@ static inline void perf_clear_branch_entry_bitfields(struct perf_branch_entry *b
br->in_tx = 0;
br->abort = 0;
br->cycles = 0;
- br->type = 0;
+ br->type = PERF_BR_UNKNOWN;
br->spec = PERF_BR_SPEC_NA;
+ br->priv = PERF_BR_PRIV_UNKNOWN;
br->reserved = 0;
}
--
2.25.1
Powered by blists - more mailing lists