Messages in this thread | | | Date | Tue, 13 Dec 2005 21:29:45 +0100 | From | Eric Dumazet <> | Subject | Re: [PATCH] Cpuset: rcu optimization of page alloc hook |
| |
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 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |