malloc probes for Systemtap

Jeff Law law@redhat.com
Thu Oct 4 21:42:00 GMT 2012


On 10/03/2012 01:22 PM, Roland McGrath wrote:
> Of the primary maintainers, Carlos has done the malloc-related
> reviews lately.  So I'd like him to sign off on the choices of probe
> locations, names, and parameters.  Jeff's review seems to give some
> helpful rationale for some of the choices, though I didn't see him
> mention the parameters.
In general, the probe names are prefixed by the function they're 
contained within.  This seemed reasonable to me.  The alternate would be 
to prefix them all with "malloc" or something similar to denote the 
subsystem they're contained within.    I've got no strong opinions, so 
if you'd prefer subsystem prefixing, I'd go along with that happily.

As far as location, the locations are largely determined by what 
behaviours we want to probe for.  I thought they were pretty obvious. 
Perhaps I should have mentioned that the taps in some cases allow us to 
look at timestamps and determine how long we blocked on a mutex, this 
choice was made on purpose.

Parameters were pretty straightforward; in the mallopt probes I thought 
about asking for both the old and new values, but the old value will 
have been available the prior time the probe fired, so it seemed 
redundant.

Arguably malloc_arena_reuse_wait doesn't need to provide &result->mutex 
as that can be derived from the result argument.  Seemed like a nit to me.

The retry probes provide some basic info on the request that failed.  We 
get the failing arena via one of the probes which I'd expect to be 
useful as well as the size, alignment and other characteristics of the 
request that initially failed.

The resizing probes don't necessary have to pass h->size as they already 
pass h.  Seemed like a nit to me.  Providing the brk value & size seems 
pretty obviously useful.


> I'm certainly all for higher-quality documentation for probes, and I
> agree that those two .txt files are not stellar.  However, I really
> do not like the idea of dead conditional sections in the manual
> sources.  If you want to use Texinfo for this documentation (which
> of course is a perfectly fine choice) then I think it should be in
> separate files.
Then let's go with this, probes in their own chapter or appendix.  If we 
logically group them, that would tend to argue that the prefix would 
follow from the group rather than the function where the probe lives.

jeff



More information about the Libc-alpha mailing list