Re: Instruction Tracing for Linux

From: Andi Kleen
Date: Fri Jul 08 2005 - 17:18:33 EST


On Fri, Jul 08, 2005 at 03:49:47PM -0500, Adnan Khaleel wrote:
> Thanks for your suggestions. I have been working with Simics, SimNow and Bochs. I've had mixed luck with all of them. Although Simics should be the most promising, I've really had
> an uphill struggle with it especially when it comes to x86-64. I've been playing around with Bochs and most likely will end up using that but it has its drawbacks as well.

I haven't tested any recent versions, but the original development
was near mostly done with Simics and it did work well for me.

iirc there was a recent bug that the optimized memcpy or memset
in the glibc didn't like a CPU returning 0 bytes of cache size and
Simics did that. You might have run into that. It should be
fixed now.

Bochs used to be quite buggy on the x86-64 department and didn't do
multi processor, but that also might have changed. It is significantly
slower than the others.

>
> Even if I can't trace the kernel, is there anything available for just the user space stuff?

The AMD CodeAnalyst for Linux has a simulator that first collects
a trace and then runs that in a CPU model. I assume it does
first single stepping. It's unfortunately binary only.

If slow single stepping is enough it's reasonably easy to write
something yourself too. I have old example source that implements
single stepping.

However I doubt any of them are capable of running the bigger
benchmarks.

-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/