public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] markers-linker-generic
@ 2007-04-10 22:36 Mathieu Desnoyers
  2007-04-10 22:48 ` [PATCH] markers-linker-m68knommu Mathieu Desnoyers
                   ` (14 more replies)
  0 siblings, 15 replies; 23+ messages in thread
From: Mathieu Desnoyers @ 2007-04-10 22:36 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

Defines the linker marcro EXTRA_RWDATA for marker data section. It
puts the marker data in a separate section that will not pollute the
normal .data section, which minimize the cache impact. Markers need such
a special section because they define a lot of spreaded and small data
structures at multiple sites.

This patch also creates the __markers_strings section (ro marker
strings) and makes sure the __markers section is aligned by putting it
before the __ksymtab_strings (not after).

It applies on 2.6.21-rc6-mm1.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>

--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -116,21 +116,19 @@
 		*(__kcrctab_gpl_future)					\
 		VMLINUX_SYMBOL(__stop___kcrctab_gpl_future) = .;	\
 	}								\
-									\
-	/* Kernel symbol table: strings */				\
-        __ksymtab_strings : AT(ADDR(__ksymtab_strings) - LOAD_OFFSET) {	\
-		*(__ksymtab_strings)					\
-	}								\
 	/* Kernel markers : pointers */					\
-	.markers : AT(ADDR(.markers) - LOAD_OFFSET) {			\
+	__markers : AT(ADDR(__markers) - LOAD_OFFSET) {			\
 		VMLINUX_SYMBOL(__start___markers) = .;			\
-		*(.markers)						\
+		*(__markers)						\
 		VMLINUX_SYMBOL(__stop___markers) = .;			\
 	}								\
-	.markers.c : AT(ADDR(.markers.c) - LOAD_OFFSET) {		\
-		VMLINUX_SYMBOL(__start___markers_c) = .;		\
-		*(.markers.c)						\
-		VMLINUX_SYMBOL(__stop___markers_c) = .;			\
+	/* Kernel symbol table: strings */				\
+        __ksymtab_strings : AT(ADDR(__ksymtab_strings) - LOAD_OFFSET) {	\
+		*(__ksymtab_strings)					\
+	}								\
+	/* Kernel markers : strings */					\
+	__markers_strings : AT(ADDR(__markers_strings) - LOAD_OFFSET) {	\
+		*(__markers_strings)					\
 	}								\
 	__end_rodata = .;						\
 	. = ALIGN(4096);						\
@@ -147,6 +145,10 @@
 									\
 	. = ALIGN(4096);
 
+#define EXTRA_RWDATA							\
+	. = ALIGN(8);							\
+	*(__markers_data)						\
+
 #define SECURITY_INIT							\
 	.security_initcall.init : AT(ADDR(.security_initcall.init) - LOAD_OFFSET) { \
 		VMLINUX_SYMBOL(__security_initcall_start) = .;		\
@@ -263,4 +265,3 @@
   	*(.initcall6s.init)						\
   	*(.initcall7.init)						\
   	*(.initcall7s.init)
-
-- 
Mathieu Desnoyers
Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68

^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2007-04-12  0:22 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-04-10 22:36 [PATCH] markers-linker-generic Mathieu Desnoyers
2007-04-10 22:48 ` [PATCH] markers-linker-m68knommu Mathieu Desnoyers
2007-04-10 22:49 ` [PATCH] markers-linker-mips Mathieu Desnoyers
2007-04-10 22:50 ` [PATCH] markers-linker-parisc Mathieu Desnoyers
2007-04-10 22:51 ` [PATCH] markers-linker-powerpc Mathieu Desnoyers
2007-04-10 22:52 ` [PATCH] markers-linker-ppc Mathieu Desnoyers
2007-04-10 22:53 ` [PATCH] markers-linker-s390 Mathieu Desnoyers
2007-04-10 22:54 ` [PATCH] markers-linker-sh Mathieu Desnoyers
2007-04-10 22:54 ` [PATCH] markers-linker-sh64 Mathieu Desnoyers
2007-04-10 22:55 ` [PATCH] markers-linker-sparc Mathieu Desnoyers
2007-04-10 22:56 ` [PATCH] markers-linker-sparc64 Mathieu Desnoyers
2007-04-10 22:57 ` [PATCH] markers-linker-um Mathieu Desnoyers
2007-04-10 22:58 ` [PATCH] markers-linker-v850 Mathieu Desnoyers
2007-04-10 22:58 ` [PATCH] markers-linker-x86_64 Mathieu Desnoyers
2007-04-10 22:59 ` [PATCH] markers-linker-xtensa Mathieu Desnoyers
2007-04-11  7:44 ` [PATCH] markers-linker-generic Russell King
2007-04-11 17:51   ` Mathieu Desnoyers
2007-04-11 18:02     ` Andrew Morton
2007-04-11 19:21       ` Mathieu Desnoyers
2007-04-11 21:45         ` Jim Keniston
2007-04-12  0:21           ` Vara Prasad
2007-04-11 20:41       ` Mathieu Desnoyers
2007-04-11 22:58       ` Frank Ch. Eigler

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox