From mboxrd@z Thu Jan 1 00:00:00 1970 From: yannick.brosseau@gmail.com (Yannick Brosseau) Date: Mon, 07 Jan 2013 13:15:20 -0500 Subject: [lttng-dev] Reading cache misses in Userspace? In-Reply-To: <50E8834D.1010802@gmx.de> References: <50E8834D.1010802@gmx.de> Message-ID: <50EB10B8.80703@gmail.com> 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