Messages in this thread | | | Date | Thu, 31 Oct 2013 10:43:24 +0100 | From | Frederic Weisbecker <> | Subject | Re: [PATCH V5 0/3] perf/x86/amd: AMD Family 16h Data Breakpoint Extensions |
| |
On Wed, Oct 02, 2013 at 11:11:05AM -0500, suravee.suthikulpanit@amd.com wrote: > From: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com> > > Frederic, this is the rebase of the V4 patch onto the linux-3.12.0-rc3 (linux.git), > and retest. > > The following patchset enables hardware breakpoint bp_len greater than > HW_BREAKPOINT_LEN_8 on AMD Family 16h and later. > > $ perf stat -e mem:0x1000/16:w a.out > ^^ > bp_len > > This will count writes to [0x1000 ~ 0x1010)
This interface looks good to me. I mean it seems flexible enough to provide a range of address that fits anyway whenever the architecture supports breakpoint ranges through either a length or a mask.
Thanks.
> > V5: > * Rebase onto 3.12.0-rc3. > * Modify the tools/perf/util/parse-events.y due to change in > parse_events_add_breakpoint(). > > V4: > Even more per Oleg's suggestion: > * Further simplify info->len and info->mask setting switch statement > > V3: > More per Oleg's suggestion: > * Use already existing bp_len instead of changing userland API and > in kernel turn bp_len into proper AMD hardware breakpoint address > mask. > > V2: > Per Oleg's suggestions: > * Moved testing of bp_addr_mask to validate_hw_breakpoint() > * Changed perf tool syntax to mem:<addr>[/addr_mask][:access] > > > Jacob Shin (3): > perf/x86/amd: AMD support for bp_len > HW_BREAKPOINT_LEN_8 > perf tools: allow user to specify hardware breakpoint bp_len > perf tools: add hardware breakpoint bp_len test cases > > arch/x86/include/asm/cpufeature.h | 2 ++ > arch/x86/include/asm/debugreg.h | 5 +++ > arch/x86/include/asm/hw_breakpoint.h | 1 + > arch/x86/include/uapi/asm/msr-index.h | 4 +++ > arch/x86/kernel/cpu/amd.c | 19 +++++++++++ > arch/x86/kernel/hw_breakpoint.c | 47 +++++++++++---------------- > tools/perf/Documentation/perf-record.txt | 7 ++-- > tools/perf/tests/parse-events.c | 55 ++++++++++++++++++++++++++++++++ > tools/perf/util/parse-events.c | 17 ++++------ > tools/perf/util/parse-events.h | 2 +- > tools/perf/util/parse-events.l | 1 + > tools/perf/util/parse-events.y | 26 +++++++++++++-- > 12 files changed, 142 insertions(+), 44 deletions(-) > > -- > 1.8.1.2 > >
| |