Re: [PATCH] Cpuset: rcu optimization of page alloc hook

Eric Dumazet
2005-12-13T20:29:54Z

Paul Jackson a écrit :
> Detail question ...
>
> Eric wrote:
>
>>Say you move to read mostly most of struct kmem_cache *
>
>
> Does the following:
>
> struct kmem_cache *cpuset_cache __read_mostly;
>
> mark just the one word pointer 'cpuset_cache' as __read_mostly,
> or does it mark the whole dang cpuset cache?
>
> I presume it just marks the one pointer word. Am I wrong?

Only the pointer is placed onto read mostly section.

In fact the pointer is written once at boot time, then it is only read.

kmem_cache implementation is SMP/NUMA friendly, keeping care of false sharing
issues, and node aware memory.

But the initial pointer *should* be in a cache line shared by all cpus to get
best performance. It's easy to achive this since the pointer is only read.
(well... mostly... )

>
> I ask because the subtle phrasing of your comment reads to
> my ear as if you knew it marked the entire cache. I can't
> tell if that is due to my ears having a different language
> accent than yours, or if it is due to my getting this wrong.
>

Sorry...

Eric