Messages in this thread | | | From | Rasmus Villemoes <> | Subject | Re: [PATCH 3/3 v6] mm/vmalloc: Cache the vmalloc memory info | Date | Tue, 25 Aug 2015 16:19:59 +0200 |
| |
On Tue, Aug 25 2015, Ingo Molnar <mingo@kernel.org> wrote:
> * George Spelvin <linux@horizon.com> wrote: > >> (I hope I'm not annoying you by bikeshedding this too much, although I >> think this is improving.) > > [ I don't mind, although I wish other, more critical parts of the kernel got this > much attention as well ;-) ] >
Since we're beating dead horses, let me point out one possibly unintentional side-effect of initializing just one of vmap_info{,_cache}_gen:
$ nm -n vmlinux | grep -E 'vmap_info(_cache)?_gen' ffffffff81e4e5e0 d vmap_info_gen ffffffff820d5700 b vmap_info_cache_gen
[Up-thread, you wrote "I also moved the function-static cache next to the flag and seqlock - this should further compress the cache footprint."]
One should probably ensure that they end up in the same cacheline if one wants the fast-path to be as fast as possible - the easiest way to ensure that is to put them in a small struct, and that might as well contain the spinlock and the cache itself as well.
It's been fun seeing this evolve, but overall, I tend to agree with Peter: It's a lot of complexity for little gain. If we're not going to just kill the Vmalloc* fields (which is probably too controversial) I'd prefer Linus' simpler version.
Rasmus
| |