Profiling code execution on amd64?

Steve Kargl sgk at troutmask.apl.washington.edu
Sat Jan 15 06:10:24 UTC 2011


On Fri, Jan 14, 2011 at 03:40:46PM -0500, George Neville-Neil wrote:
> 
> On Jan 13, 2011, at 23:05 , Steve Kargl wrote:
> 
> > On Thu, Jan 13, 2011 at 10:08:30PM -0500, Ryan Stone wrote:
> >> I would suggest using hwpmc for profiling:
> >> 
> >> # kldload hwpmc
> >> # pmcstat -S unhalted-cycles -O /tmp/samples.out ../penetration
> >> # pmcstat -R /tmp/samples.out -G /tmp/penetration.txt
> >> 
> >> 
> >> You can also get pmcstat to generate gprof-compatible output with -g,
> >> but I never use the mode so I'm really not sure what it gives you.  I
> >> think that you have to run gprof on the output or something, but don't
> >> hold me to that.
> > 
> > 
> > Thanks.  I'll give it a try, but my initial attempt seems to
> > indicate that one needs to be root to use hwpmc.  
> > 
> > laptop:kargl[210] pmcstat -S unhalted-cycles -O /tmp/samples.out ../penetration
> > pmcstat: ERROR: Cannot allocate system-mode pmc with specification
> > "unhalted-cycles": Operation not permitted
> > 
> 
> You only need to be root to profile the kernel or someone else's process.
> 
> This tutorial might help:
> 
> www.dcbsdcon.org/speakers/slides/neville-neil_dcbsdcon2009.pdf
> 

Thanks.  I'll look at the tutorial.  Meanwhile, should gprof
be removed from the base system because it appears broken?

-- 
Steve


More information about the freebsd-current mailing list