On Fri, Jan 11, 2008 at 06:12:57PM -0800, Roman Shaposhnik wrote: > My main beef with stack helpers is that they have to be executed > inside the kernel and are subject to the usual DTrace restrictions. > I would like to see a possibility of offloading more work to user > space in a generic fashion. For example, we have a libcollector.so > facility that is capable of reconstructing stacks under the most > challenging of situations (inside the function preamble, etc.) it is > way more accurate in what it reports back than ustack() it is also > capable of more stack unwinding than jstack(). Of course, it runs in > user space.
All respect to libcollector.so, but the conditions under which DTrace must gather a stack are far more constrained than those of a user-land program. The DTrace code from probe context can't do I/O or block -- it can only load and store. Even looping is a bit of a stretch. Adam -- Adam Leventhal, FishWorks http://blogs.sun.com/ahl