This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: [RFC] Hardware Breakpoint support for systemtap translator
- From: Roland McGrath <roland at redhat dot com>
- To: Prerna Saxena <prerna at linux dot vnet dot ibm dot com>
- Cc: systemtap at sourceware dot org
- Date: Fri, 24 Jul 2009 14:11:50 -0700 (PDT)
- Subject: Re: [RFC] Hardware Breakpoint support for systemtap translator
- References: <4A699A1C.6080205@linux.vnet.ibm.com>
> 1. probe kernel.data(ADDRESS).write {....} : To probe writes at
> the given address
> 2. probe kernel.data(ADDRESS).rw {....} : To probe read &
> write access to the given address.
> 3. probe kernel.data("SYMBOL").write {....}
> 4. probe kernel.data("SYMBOL").rw {....} : Similar to 1,2, but
> using a symbol name as argument.
That is a nice start! But what about dynamic uses?
i.e.
probe kernel.function("foobar")
{
w1 = watch $foo->bar
}
probe kernel.function.return("foobar")
{
unwatch w1
}
probe watch.w1
{
val = $$watch.baz # i.e. $foo->bar.baz
}
or probably some entirely different syntax. But I think you get the idea:
enable/disable dynamically-discovered addresses to trigger watchpoint
probes of some sort. I think it would be really nice if the watch probe
could somehow be embedded in the enabling probe's context so it can use
$bar there and have those address translations taken at enable-time.
Also, what about specifying access-size for the watchpoint, on machines
where that can be done (i.e. x86)?
Thanks,
Roland