[IA64] Add __read_mostly support for IA64
authorChristoph Lameter <clameter@engr.sgi.com>
Mon, 12 Dec 2005 17:34:32 +0000 (09:34 -0800)
committerTony Luck <tony.luck@intel.com>
Fri, 16 Dec 2005 18:52:46 +0000 (10:52 -0800)
sparc64, i386 and x86_64 have support for a special data section dedicated
to rarely updated data that is frequently read. The section was created to
avoid false sharing of those rarely read data with frequently written kernel
data.

This patch creates such a data section for ia64 and will group rarely written
data into this section.

Signed-off-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
arch/ia64/kernel/vmlinux.lds.S
include/linux/cache.h

index 30d8564e96032bd9b7cc9735721457627db9ff7d..73af6267d2efa52d32d0d019089f22b99b659de9 100644 (file)
@@ -177,6 +177,9 @@ SECTIONS
        }
   . = ALIGN(PAGE_SIZE);                /* make sure the gate page doesn't expose kernel data */
 
+  .data.read_mostly : AT(ADDR(.data.read_mostly) - LOAD_OFFSET)
+        { *(.data.read_mostly) }
+
   .data.cacheline_aligned : AT(ADDR(.data.cacheline_aligned) - LOAD_OFFSET)
         { *(.data.cacheline_aligned) }
 
index f6b5a46c5f827dbfa02f20252f4fcbf9d72100f9..0b7ecf3af78a70a854cefbac1d7e814a5000baf5 100644 (file)
@@ -13,7 +13,7 @@
 #define SMP_CACHE_BYTES L1_CACHE_BYTES
 #endif
 
-#if defined(CONFIG_X86) || defined(CONFIG_SPARC64)
+#if defined(CONFIG_X86) || defined(CONFIG_SPARC64) || defined(CONFIG_IA64)
 #define __read_mostly __attribute__((__section__(".data.read_mostly")))
 #else
 #define __read_mostly