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

From: Eric Dumazet
Date: Tue Dec 13 2005 - 15:29:09 EST


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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/