linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH V8 01/10] powerpc, perf: Drop the branch sample when 'from' cannot be fetched
@ 2015-06-08 11:38 Anshuman Khandual
  2015-06-08 11:38 ` [PATCH V8 02/10] powerpc, perf: Restore privillege level filter support for BHRB Anshuman Khandual
                   ` (9 more replies)
  0 siblings, 10 replies; 35+ messages in thread
From: Anshuman Khandual @ 2015-06-08 11:38 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: mpe, sukadev, mikey

BHRB is a rolling buffer. Hence we might end up in a situation where
we have read one target address but when we try to read the next entry
indicating the from address of the targe, the buffer just overflows.
In this case, the captured from address will be zero which indicates
the end of the buffer.

This patch drops the entire branch record which would have otherwise
confused the user space tools.

Signed-off-by: Anshuman Khandual <khandual@linux.vnet.ibm.com>
---
 arch/powerpc/perf/core-book3s.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/powerpc/perf/core-book3s.c b/arch/powerpc/perf/core-book3s.c
index 12b6384..c246e65 100644
--- a/arch/powerpc/perf/core-book3s.c
+++ b/arch/powerpc/perf/core-book3s.c
@@ -452,7 +452,6 @@ static void power_pmu_bhrb_read(struct cpu_hw_events *cpuhw)
 			 *    In this case we need to read the instruction from
 			 *    memory to determine the target/to address.
 			 */
-
 			if (val & BHRB_TARGET) {
 				/* Target branches use two entries
 				 * (ie. computed gotos/XL form)
@@ -463,6 +462,8 @@ static void power_pmu_bhrb_read(struct cpu_hw_events *cpuhw)
 
 				/* Get from address in next entry */
 				val = read_bhrb(r_index++);
+				if (!val)
+					break;
 				addr = val & BHRB_EA;
 				if (val & BHRB_TARGET) {
 					/* Shouldn't have two targets in a
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 35+ messages in thread

end of thread, other threads:[~2015-06-12  9:00 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-06-08 11:38 [PATCH V8 01/10] powerpc, perf: Drop the branch sample when 'from' cannot be fetched Anshuman Khandual
2015-06-08 11:38 ` [PATCH V8 02/10] powerpc, perf: Restore privillege level filter support for BHRB Anshuman Khandual
2015-06-10  3:43   ` Daniel Axtens
2015-06-10 12:08     ` Anshuman Khandual
2015-06-11  3:28       ` Daniel Axtens
2015-06-12  7:06         ` Anshuman Khandual
2015-06-08 11:38 ` [PATCH V8 03/10] powerpc, perf: Re organize BHRB processing Anshuman Khandual
2015-06-10  4:36   ` Daniel Axtens
2015-06-10 12:09     ` Anshuman Khandual
2015-06-11  3:32       ` Daniel Axtens
2015-06-12  7:05         ` Anshuman Khandual
2015-06-08 11:38 ` [PATCH V8 04/10] powerpc, perf: Re organize PMU based branch filter processing in POWER8 Anshuman Khandual
2015-06-10  5:07   ` Daniel Axtens
2015-06-10 12:09     ` Anshuman Khandual
2015-06-08 11:38 ` [PATCH V8 05/10] powerpc, perf: Change the name of HW PMU branch filter tracking variable Anshuman Khandual
2015-06-08 11:38 ` [PATCH V8 06/10] powerpc, lib: Add new branch analysis support functions Anshuman Khandual
2015-06-10  5:33   ` Daniel Axtens
2015-06-10 12:10     ` Anshuman Khandual
2015-06-08 11:38 ` [PATCH V8 07/10] powerpc, perf: Enable SW filtering in branch stack sampling framework Anshuman Khandual
2015-06-08 11:38 ` [PATCH V8 08/10] powerpc, perf: Change POWER8 PMU configuration to work with SW filters Anshuman Khandual
2015-06-10  5:49   ` Daniel Axtens
2015-06-10 12:10     ` Anshuman Khandual
2015-06-11  3:38       ` Daniel Axtens
2015-06-08 11:38 ` [PATCH V8 09/10] powerpc, perf: Enable privilege mode SW branch filters Anshuman Khandual
2015-06-11  1:19   ` Daniel Axtens
2015-06-12  7:04     ` Anshuman Khandual
2015-06-08 11:38 ` [PATCH V8 10/10] selftests, powerpc: Add test for BHRB branch filters (HW & SW) Anshuman Khandual
2015-06-09  5:41   ` Anshuman Khandual
2015-06-11  2:09   ` Daniel Axtens
2015-06-12  7:02     ` Anshuman Khandual
2015-06-12  7:26       ` Madhavan Srinivasan
2015-06-12  8:59         ` Anshuman Khandual
2015-06-10  3:21 ` [PATCH V8 01/10] powerpc, perf: Drop the branch sample when 'from' cannot be fetched Daniel Axtens
2015-06-10 12:02   ` Anshuman Khandual
2015-06-11  2:22     ` Daniel Axtens

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).