On Mon, Aug 30, 2010 at 10:17:53AM -0700, Jonathan Adams wrote:
> On Fri, Aug 27, 2010 at 04:44:31PM -0700, Rafael Vanoni wrote:
> > I was trying to aggregate on the stack trace of a CPU's current
> > thread from a cpu_t * and the best I could do was aggregating with
> > sym() on the t_startpc field of the CPU's current thread.
> > 
> > It doesn't look like it would be very difficult to write a new
> > action to get stack() from a given CPU id. Would that be of interest
> > to anyone else? If so, please let me know and I'll write it up.
> 
> It is extremely difficult to do that from another CPU on SPARC, since
> register windows mean that much of the stack state is kept in-CPU.  Even
> on x86, you can't get anything better than the last place the thread updated
> its t_pcb (e.g. in cv_wait()), and there's a good chance the stack won't line
> up.

Can't this be done with dtrace_xcall()?

BTW, another backtrace-like action I'd love to see would be something
like ptree(), which would output ptree(1)-like output (but without
program arguments) that could then be aggregated on.

Nico
-- 
_______________________________________________
dtrace-discuss mailing list
dtrace-discuss@opensolaris.org

Reply via email to