[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] [XEN] Implement proper __read_mostly memory arrangemengt for x86.



# HG changeset patch
# User kaf24@xxxxxxxxxxxxxxxxxxxx
# Node ID 6b821e3105977b393c261a6f474d991256264484
# Parent  aa25666d464332f52302f8f0d0768da9729befa6
[XEN] Implement proper __read_mostly memory arrangemengt for x86.
Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>
---
 xen/arch/x86/x86_32/xen.lds.S              |    3 +++
 xen/arch/x86/x86_64/xen.lds.S              |    3 +++
 xen/include/asm-ia64/linux-xen/asm/cache.h |    2 ++
 xen/include/asm-powerpc/cache.h            |    2 ++
 xen/include/asm-x86/cache.h                |    2 ++
 xen/include/xen/config.h                   |    1 -
 6 files changed, 12 insertions(+), 1 deletion(-)

diff -r aa25666d4643 -r 6b821e310597 xen/arch/x86/x86_32/xen.lds.S
--- a/xen/arch/x86/x86_32/xen.lds.S     Tue Aug 08 14:56:22 2006 +0100
+++ b/xen/arch/x86/x86_32/xen.lds.S     Tue Aug 08 15:14:43 2006 +0100
@@ -46,6 +46,9 @@ SECTIONS
        CONSTRUCTORS
        } :text
 
+  . = ALIGN(128);
+  .data.read_mostly : { *(.data.read_mostly) } :text
+
   . = ALIGN(4096);             /* Init code and data */
   __init_begin = .;
   .text.init : { *(.text.init) } :text
diff -r aa25666d4643 -r 6b821e310597 xen/arch/x86/x86_64/xen.lds.S
--- a/xen/arch/x86/x86_64/xen.lds.S     Tue Aug 08 14:56:22 2006 +0100
+++ b/xen/arch/x86/x86_64/xen.lds.S     Tue Aug 08 15:14:43 2006 +0100
@@ -44,6 +44,9 @@ SECTIONS
        CONSTRUCTORS
        } :text
 
+  . = ALIGN(128);
+  .data.read_mostly : { *(.data.read_mostly) } :text
+
   . = ALIGN(4096);             /* Init code and data */
   __init_begin = .;
   .text.init : { *(.text.init) } :text
diff -r aa25666d4643 -r 6b821e310597 xen/include/asm-ia64/linux-xen/asm/cache.h
--- a/xen/include/asm-ia64/linux-xen/asm/cache.h        Tue Aug 08 14:56:22 
2006 +0100
+++ b/xen/include/asm-ia64/linux-xen/asm/cache.h        Tue Aug 08 15:14:43 
2006 +0100
@@ -32,4 +32,6 @@
 #endif
 #endif
 
+#define __read_mostly
+
 #endif /* _ASM_IA64_CACHE_H */
diff -r aa25666d4643 -r 6b821e310597 xen/include/asm-powerpc/cache.h
--- a/xen/include/asm-powerpc/cache.h   Tue Aug 08 14:56:22 2006 +0100
+++ b/xen/include/asm-powerpc/cache.h   Tue Aug 08 15:14:43 2006 +0100
@@ -57,4 +57,6 @@ static __inline__ void synchronize_cache
     isync();
 }
 
+#define __read_mostly
+
 #endif
diff -r aa25666d4643 -r 6b821e310597 xen/include/asm-x86/cache.h
--- a/xen/include/asm-x86/cache.h       Tue Aug 08 14:56:22 2006 +0100
+++ b/xen/include/asm-x86/cache.h       Tue Aug 08 15:14:43 2006 +0100
@@ -10,4 +10,6 @@
 #define L1_CACHE_SHIFT (CONFIG_X86_L1_CACHE_SHIFT)
 #define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
 
+#define __read_mostly __attribute__((__section__(".data.read_mostly")))
+
 #endif
diff -r aa25666d4643 -r 6b821e310597 xen/include/xen/config.h
--- a/xen/include/xen/config.h  Tue Aug 08 14:56:22 2006 +0100
+++ b/xen/include/xen/config.h  Tue Aug 08 15:14:43 2006 +0100
@@ -50,6 +50,5 @@
 #endif /* !__ASSEMBLY__ */
 
 #define fastcall
-#define __read_mostly
 
 #endif /* __XEN_CONFIG_H__ */

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.