[lttng-dev] Reading cache misses in Userspace?

Yannick Brosseau yannick.brosseau at gmail.com
Mon Jan 7 13:15:20 EST 2013


On 2013-01-05 14:47, Alexander Kampmann wrote:
> hey,
>
> I would like to find out which part of my application causes most
> cache misses. So I tried to add userspace events to my application. I
> hoped LTTng would give me some mean of determining between which
> tracepoints the most cache misses occur.
>
> I started a session like that:
>
> sudo lttng create session
> sudo lttng enable-event -a -u
> sudo lttng add-context -u -t perf:LLC-load-misses -t
> perf:LLC-store-misses -t perf:LLC-prefetch-misses
>
> I get:
>
> Error: perf:LLC-prefetch-misses: UST invalid context
> Error: perf:LLC-store-misses: UST invalid context
> Error: perf:LLC-load-misses: UST invalid context
>
> Does this mean I can not add perf:LLC-* context to my userspace
> events? Is there any way to figure out which part of my application
> causes cache misses?
>
> If I use
>
> sudo lttng add-context -k -t perf:LLC-load-misses -t
> perf:LLC-store-misses -t perf:LLC-prefetch-misses
>
> instead, I don't get an error, but the babeltrace output does not
> contain any cache miss counts as well.

This context will be added to kernel events only, so you will need to
active some kernel event to see them.
sudo lttng enable-event -a -k would do the trick. You can also only
activate some events to reduce the size of the trace. The sched* events
and maybe the syscall would be interesting to place the perf counter to
some specific place of the application.

Yannick



More information about the lttng-dev mailing list