[PATCHv3 0/5] perf/hw_breakpoint: Fix breakpoint modify

From: Jiri Olsa
Date: Fri Aug 10 2018 - 06:47:43 EST


hi,
Milind reported that modify_user_hw_breakpoint wouldn't
allow the breakpoint changing if the new attr had 'disabled'
set to true.

I found a case where it actualy prevents ptrace user interface
to change the breakpoint. It's described in patch 1 as perf test,
patch 2 is the breakpoint code fix.

I ran strace tests, nothing (new) broken there..

v3 changes:
- added Oleg's ack for patch 3
- new patches 4,5 based on Oleg's suggestions
replacing the v2 fallback approach by enabling
the event directly after failed modification

v2 changes:
- added Oleg's ack for patch 2
- added new changes based on Oleg's questions
plus new test code

thanks,
jirka

---
Jiri Olsa (5):
perf tests: Add breakpoint modify tests
perf/hw_breakpoint: Modify breakpoint even if the new attr has disabled set
perf/hw_breakpoint: Remove superfluous bp->attr.disabled = 0
perf/hw_breakpoint: Enable breakpoint in modify_user_hw_breakpoint
perf/hw_breakpoint: Simplify breakpoint enable in perf_event_modify_breakpoint

kernel/events/core.c | 11 ++-----
kernel/events/hw_breakpoint.c | 13 ++++----
tools/perf/arch/x86/include/arch-tests.h | 1 +
tools/perf/arch/x86/tests/Build | 1 +
tools/perf/arch/x86/tests/arch-tests.c | 6 ++++
tools/perf/arch/x86/tests/bp-modify.c | 213 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6 files changed, 230 insertions(+), 15 deletions(-)
create mode 100644 tools/perf/arch/x86/tests/bp-modify.c