Re: [RFC PATCH 1/2] Marker probes in futex.c

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Mathieu Desnoyers
Date: Tuesday, April 15, 2008 - 7:39 am

* Ingo Molnar (mingo@elte.hu) wrote:

Data cache bloat inspection :
If you use the "size" output, it will take into account all the data
placed in special sections. At link time, these sections are put
together far from the actual cache hot kernel data.

Instruction cache bloat inspection :
If a code region is placed with cache cold instructions (unlikely
branches), it should not increase the cache impact, since although we
might use one more cache line, it won't be often loaded in cache because
all the code that shares this cache line is unlikely.

TLB entries bloat :
If code is added in unlikely branches, the instruction size increase
could increase the number of TLB entries required to keep cache hot
code. However, in our case, adding 10 (hot) + 50 (cold) bytes to the
scheduler code per optimized marker would require 68 markers to occupy a
whole 4kB TLB entry. Statistically, we could suppose that adding less
than 34 markers to the scheduler should not use any supplementary TLB
entry.  Adding 3 markers is therefore very unlikely to increase the TLB
impact. Given we have about 1024 TLB entries, adding 1/25th of a TLB
entry to the cache hot kernel instructions should not matter much,
especially since it might be absorbed by alignment.

And since the kernel core code is placed in "Huge TLB pages" on many
architectures nowadays, I really don't think the impact of a few bytes
out of 4MB is significant.

I therefore think that looking only at code size is misleading when
considering the cache impact of markers, since they have been designed
to put the bytes as far away as possible from cache-hot memory.

Mathieu

-- 
Mathieu Desnoyers
Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[RFC PATCH 1/2] Marker probes in futex.c, K. Prasad, (Tue Apr 15, 4:53 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Peter Zijlstra, (Tue Apr 15, 5:02 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Mathieu Desnoyers, (Tue Apr 15, 5:32 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Alexey Dobriyan, (Tue Apr 15, 5:50 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Peter Zijlstra, (Tue Apr 15, 5:56 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Ingo Molnar, (Tue Apr 15, 6:17 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Mathieu Desnoyers, (Tue Apr 15, 6:25 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Mathieu Desnoyers, (Tue Apr 15, 6:47 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Ingo Molnar, (Tue Apr 15, 7:04 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Frank Ch. Eigler, (Tue Apr 15, 7:21 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Mathieu Desnoyers, (Tue Apr 15, 7:39 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, K. Prasad, (Tue Apr 15, 8:52 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, K. Prasad, (Tue Apr 15, 9:13 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Ingo Molnar, (Tue Apr 15, 9:48 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Mathieu Desnoyers, (Tue Apr 15, 2:38 pm)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Ingo Molnar, (Wed Apr 16, 6:17 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Arjan van de Ven, (Wed Apr 16, 6:46 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Mathieu Desnoyers, (Wed Apr 16, 7:00 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Arjan van de Ven, (Wed Apr 16, 7:24 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Ingo Molnar, (Wed Apr 16, 7:29 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Mathieu Desnoyers, (Wed Apr 16, 7:48 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Arjan van de Ven, (Wed Apr 16, 8:32 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Mathieu Desnoyers, (Wed Apr 16, 8:39 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Peter Zijlstra, (Wed Apr 16, 8:51 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Peter Zijlstra, (Wed Apr 16, 8:51 am)
text_poke, vmap and vmalloc on x86_64, Mathieu Desnoyers, (Wed Apr 16, 1:10 pm)
Re: text_poke, vmap and vmalloc on x86_64, Mathieu Desnoyers, (Wed Apr 16, 2:22 pm)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Frank Ch. Eigler, (Thu Apr 17, 12:19 pm)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Mathieu Desnoyers, (Thu Apr 17, 1:16 pm)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Frank Ch. Eigler, (Thu Apr 17, 3:02 pm)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Peter Zijlstra, (Thu Apr 17, 11:46 pm)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Peter Zijlstra, (Thu Apr 17, 11:56 pm)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Andrew Morton, (Fri Apr 18, 3:44 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Frank Ch. Eigler, (Fri Apr 18, 7:29 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, K. Prasad, (Sat Apr 19, 5:13 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, K. Prasad, (Sat Apr 19, 5:28 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Mathieu Desnoyers, (Sat Apr 19, 7:13 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Peter Zijlstra, (Sat Apr 19, 7:52 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Peter Zijlstra, (Sat Apr 19, 7:56 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Frank Ch. Eigler, (Sat Apr 19, 11:03 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Peter Zijlstra, (Sat Apr 19, 11:29 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Frank Ch. Eigler, (Sat Apr 19, 11:48 am)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Mathieu Desnoyers, (Sat Apr 19, 2:33 pm)
Re: [RFC PATCH 1/2] Marker probes in futex.c, Nicholas Miell, (Tue Apr 22, 10:50 am)