On Fri, Jul 08, 2005 at 09:11:03PM +0200, Andi Kleen wrote: > "Adnan Khaleel" <[EMAIL PROTECTED]> writes: > > > Hi there, > > > > I'm a hardware designer and I'm interested in collecting dynamic execution > > traces in Linux. I've looked at several trace toolkits available for Linux > > currently but none of them offer the level of detail that I need. Ideally I > > would like to be able to record the instructions being executed on an SMP > > system along with markers for system or user space in addition to process > > id. I need these traces in order to evaluate the data sharing, coherence > > traffic etc in larger SMP systems. I've tried several other approaches to > > collecting execution traces namely via machine emulators etc but so far > > I've been dogged with the problem of trying to get any OS up and running > > stably on a multiprocessor configuration. > > > > Is there a Linux kernel patch that will let me do this? I have considered > > using User Mode Linux but I'm not sure if this is the correct approach > > either - if any of you think that this is the easier path, I'd be > > interested in exploring this more. Other things that have crossed my mind > > is to use a gdb or the kernel debugger interface in order to collect the > > instructions but I'm not sure if this would be the correct path. Also I do > > require the tool/patch to be stable enough so that I can run commercial > > benchmarks on it reliably. > > > > I understand that recording every executed instruction can considerably > > slow down the application and may be considerably different from the freely > > running application but nevertheless I think that some trace is better than > > no trace and this is where I am at the moment. > > > > If any of you have had experiences in profiling the kernel etc by > > collecting actual kernel instructions executed, I'd be interested in seeing > > if that may be extended for my purpose. > > While some CPUs (like Intel P4) have ways to do such hardware > tracing I know of no free tool that uses it. There are some user > space tools to collect at user space, but they probably won't help you. > > Your best bet is likely some full system simulator with tracing > support like Simics, SimNow, bochs, qemu. The first two might be able to > run enterprise benchmarks.
Laplace is a modified version of Bochs for load/store instruction tracing and more: http://www.cs.amherst.edu/~sfkaplan/research/laplace/ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/