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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]