[PATCH] mostly_read data section
authorChristoph Lameter <christoph@lameter.com>
Fri, 8 Jul 2005 00:56:59 +0000 (17:56 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Fri, 8 Jul 2005 01:23:46 +0000 (18:23 -0700)
commit6c036527a630720063b67d9a65455e8caca2c8fa
tree316e947f5f4efcda0205e48044ed1d12665eaed1
parent0db925af1db5f3dfe1691c35b39496e2baaff9c9
[PATCH] mostly_read data section

Add a new section called ".data.read_mostly" for data items that are read
frequently and rarely written to like cpumaps etc.

If these maps are placed in the .data section then these frequenly read
items may end up in cachelines with data is is frequently updated.  In that
case all processors in an SMP system must needlessly reload the cachelines
again and again containing elements of those frequently used variables.

The ability to share these cachelines will allow each cpu in an SMP system
to keep local copies of those shared cachelines thereby optimizing
performance.

Signed-off-by: Alok N Kataria <alokk@calsoftinc.com>
Signed-off-by: Shobhit Dayal <shobhit@calsoftinc.com>
Signed-off-by: Christoph Lameter <christoph@scalex86.org>
Signed-off-by: Shai Fultheim <shai@scalex86.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/i386/kernel/cpu/intel.c
arch/i386/kernel/smpboot.c
arch/i386/kernel/time.c
arch/i386/kernel/timers/timer_hpet.c
arch/i386/kernel/vmlinux.lds.S
arch/x86_64/kernel/vmlinux.lds.S
drivers/char/random.c
fs/bio.c
include/linux/cache.h
kernel/profile.c
lib/radix-tree.c