[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20130420165334.GA14814@redhat.com>
Date: Sat, 20 Apr 2013 18:53:34 +0200
From: Oleg Nesterov <oleg@...hat.com>
To: Jacob Shin <jacob.shin@....com>
Cc: Ingo Molnar <mingo@...hat.com>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>,
Arnaldo Carvalho de Melo <acme@...stprotocols.net>,
"H. Peter Anvin" <hpa@...or.com>,
Thomas Gleixner <tglx@...utronix.de>, x86@...nel.org,
Stephane Eranian <eranian@...gle.com>,
Jiri Olsa <jolsa@...hat.com>, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 0/5] perf: Add support for hardware breakpoint address
masks
On 04/09, Jacob Shin wrote:
>
> The following patchset adds address masks to existing perf hardware
> breakpoint mechanism to allow trapping on an address range (currently
> only single address) on supported architectures.
>
> perf uapi is updated, x86 AMD implementation (for AMD Family 16h and
> beyond) is provided, and perf tool has been extended to do:
>
> $ perf stat -e mem:0x1000:w:0xf a.out
> ^^^
> "don't care" bit mask
>
> which will count writes to [0x1000 ~ 0x1010)
Please help me understand...
Assuming that cpu_has_bpext == T, suppose that
bp_addr = 0x1001;
bp_bp_addr_mask = 0xf;
Is it the same as 0x1000/0xf above?
IOW, what exactly this mask means? I guess, mem:ADDR:w:MASK
should trigger the trap if CPU writes to the addr and
(addr & ~MASK) == (ADDR & ~MASK)
correct?
And does attr.bp_len "contribute" to the mask?
I mean, if bp_len == X86_BREAKPOINT_LEN_8, does this mean that
bp_bp_addr_mask and (bp_bp_addr_mask | 7) have the same effect?
Oleg.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists