Francis Moreau<francis.moro@xxxxxxxxx> writes: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.
Francis Moreau<francis.moro@xxxxxxxxx> writes:[...]
Well thinking more about it, the above is wrong and I'm lost.How could I know the number of cache level on my cpu ?oops sorry, I replied too early...
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:
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...
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...