Re: perf tools miscellaneous questions

From: Victor Jimenez
Date: Thu Nov 04 2010 - 18:36:15 EST


On 11/04/2010 09:58 PM, Francis Moreau wrote:
Francis Moreau<francis.moro@xxxxxxxxx> writes:

Francis Moreau<francis.moro@xxxxxxxxx> writes:

[...]

How could I know the number of cache level on my cpu ?

I tried:

$ perf stat -e cache-misses:u,l1d-loads-misses:u true

Performance counter stats for 'true':

802 cache-misses
937 L1-dcache-load-misses

0.000996578 seconds time elapsed

$ perf stat -e cache-misses:u,L2-loads-misses:u true

Performance counter stats for 'true':

788 cache-misses
95 LLC-load-misses

0.001025423 seconds time elapsed

So it looks like you're right: in my case I have this cache
configuration:

oops sorry, I replied too early...

so my cache configuration is:

L1 -> L2 -> LLC

where L2 misses is given by: 'cache-misses' - 'LLC-load-misses'

Is that correct ?

If so, I found 'cache-misses' term very not intuitive IMHO, probably
because I'm not an expert in cpu caches...
Well thinking more about it, the above is wrong and I'm lost.

If 'cache-misses' is the last level cache misses then how to interpret
these results ?

$ perf stat -e llc-load-misses:u,llc-store-misses:u true

Performance counter stats for 'true':

94 LLC-load-misses
0 LLC-store-misses

0.000981840 seconds time elapsed


$ perf stat -e cache-misses:u true

Performance counter stats for 'true':

796 cache-misses

0.001345136 seconds time elapsed

Here 'cache-misses' value is much more than llc misses one...

If you are measuring last level cache misses, I would recommend you to use a memory intensive application/benchmark instead of /bin/true, as otherwise there can be a significant variation between two runs.

Victor

--
------------------------------------------------------------------------

Victor Jimenez Perez
Barcelona Supercomputing Center
Centro Nacional de Supercomputacion
WWW: http://www.bsc.es
e-mail: victor.javier@xxxxxx

------------------------------------------------------------------------


WARNING / LEGAL TEXT: This message is intended only for the use of the
individual or entity to which it is addressed and may contain
information which is privileged, confidential, proprietary, or exempt
from disclosure under applicable law. If you are not the intended
recipient or the person responsible for delivering the message to the
intended recipient, you are strictly prohibited from disclosing,
distributing, copying, or in any way using this message. If you have
received this communication in error, please notify the sender and
destroy and delete any copies you may have received.

http://www.bsc.es/disclaimer.htm
--
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/