Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1527328 > unrolled thread
| Started by | Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com> |
|---|---|
| First post | 2016-11-22 10:30 +0100 |
| Last post | 2016-11-22 13:00 +0100 |
| Articles | 3 — 2 participants |
Back to article view | Back to linux.kernel
[PATCH] powerpc/xmon: Fix data-breakpoint Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com> - 2016-11-22 10:30 +0100
Re: [PATCH] powerpc/xmon: Fix data-breakpoint Michael Ellerman <mpe@ellerman.id.au> - 2016-11-22 12:40 +0100
Re: [PATCH] powerpc/xmon: Fix data-breakpoint Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com> - 2016-11-22 13:00 +0100
| From | Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com> |
|---|---|
| Date | 2016-11-22 10:30 +0100 |
| Subject | [PATCH] powerpc/xmon: Fix data-breakpoint |
| Message-ID | <sGfyN-5hl-1@gated-at.bofh.it> |
Xmon data-breakpoint feature is broken.
Whenever there is a watchpoint match occurs, hw_breakpoint_handler will
be called by do_break via notifier chains mechanism. If watchpoint is
registered by xmon, hw_breakpoint_handler won't find any associated
perf_event and returns immediately with NOTIFY_STOP. Similarly, do_break
also returns without notifying to xmon.
Solve this by returning NOTIFY_DONE when hw_breakpoint_handler does not
find any perf_event associated with matched watchpoint.
Signed-off-by: Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com>
---
arch/powerpc/kernel/hw_breakpoint.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/arch/powerpc/kernel/hw_breakpoint.c b/arch/powerpc/kernel/hw_breakpoint.c
index 03d089b..469d86d 100644
--- a/arch/powerpc/kernel/hw_breakpoint.c
+++ b/arch/powerpc/kernel/hw_breakpoint.c
@@ -228,8 +228,10 @@ int hw_breakpoint_handler(struct die_args *args)
rcu_read_lock();
bp = __this_cpu_read(bp_per_reg);
- if (!bp)
+ if (!bp) {
+ rc = NOTIFY_DONE;
goto out;
+ }
info = counter_arch_bp(bp);
/*
--
1.8.3.1
[toc] | [next] | [standalone]
| From | Michael Ellerman <mpe@ellerman.id.au> |
|---|---|
| Date | 2016-11-22 12:40 +0100 |
| Message-ID | <sGhAC-6wP-37@gated-at.bofh.it> |
| In reply to | #1527328 |
Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com> writes: > Xmon data-breakpoint feature is broken. > > Whenever there is a watchpoint match occurs, hw_breakpoint_handler will > be called by do_break via notifier chains mechanism. If watchpoint is > registered by xmon, hw_breakpoint_handler won't find any associated > perf_event and returns immediately with NOTIFY_STOP. Similarly, do_break > also returns without notifying to xmon. > > Solve this by returning NOTIFY_DONE when hw_breakpoint_handler does not > find any perf_event associated with matched watchpoint. .. rather than NOTIFY_STOP, which tells the core code to continue calling the other breakpoint handlers including the xmon one. Right? Also any idea when we broke this? cheers
[toc] | [prev] | [next] | [standalone]
| From | Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com> |
|---|---|
| Date | 2016-11-22 13:00 +0100 |
| Message-ID | <sGhU2-6Ds-17@gated-at.bofh.it> |
| In reply to | #1527436 |
Thanks Michael, On Tuesday 22 November 2016 05:03 PM, Michael Ellerman wrote: > Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com> writes: > >> Xmon data-breakpoint feature is broken. >> >> Whenever there is a watchpoint match occurs, hw_breakpoint_handler will >> be called by do_break via notifier chains mechanism. If watchpoint is >> registered by xmon, hw_breakpoint_handler won't find any associated >> perf_event and returns immediately with NOTIFY_STOP. Similarly, do_break >> also returns without notifying to xmon. >> >> Solve this by returning NOTIFY_DONE when hw_breakpoint_handler does not >> find any perf_event associated with matched watchpoint. > .. rather than NOTIFY_STOP, which tells the core code to continue > calling the other breakpoint handlers including the xmon one. > > Right? Yes. > Also any idea when we broke this? Hmm, not sure exactly. The code is same since it was merged in 2010 when support for hw_breakpoint was added for server processor. -Ravi > cheers >
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web