Re: [PATCH V2 1/4] perf: Add hardware breakpoint address mask

From: Will Deacon
Date: Tue Apr 23 2013 - 11:03:11 EST


On Tue, Apr 23, 2013 at 03:40:57PM +0100, Jacob Shin wrote:
> On Tue, Apr 23, 2013 at 09:34:23AM -0500, Jacob Shin wrote:
> > On Tue, Apr 23, 2013 at 10:54:37AM +0100, Will Deacon wrote:
> > > Can you see a problem if I simply invert the mask?
> >
> > That's great! No, I don't see a problem at all.

Great! The GDB folks have been asking for this, so I can finally make them
go away now :)

> > I guess now it can be debated if the mask coming in from userland should
> > be include or exclude mask. But I think exclude makes syntax easier:
> >
> > To count writes to [0x1000 ~ 0x1010)
> >
> > Include mask (my current patchset):
> ^^^^^^^
> Exclude (I mean ..)
> >
> > perf stat -e mem:0x1000/0xf:w a.out

Are you saying that this command would count any write to:

0x1000
0x1001
...
0x100e
0x100f

?

If so, that differs from the ARM debug architecture in that the mask is called
`byte-address-select', so a mask of 0b1001 would count accesses at +0 bytes
and +3 bytes from the base address. Is that possible to describe with your
masking scheme and a single watchpoint?

A mask of 0xf, would count +0, +1, +2 and +3 (essentially bp_len == 4).

Unfortunately, that means I can't just invert the mask like I originally
thought.

Will
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/