"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.

-Andi
-
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/

Reply via email to