From: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org
Subject: [PATCH] markers-linker-generic
Date: Tue, 10 Apr 2007 18:36:58 -0400 [thread overview]
Message-ID: <20070410223658.GC7092@Krystal> (raw)
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
next reply other threads:[~2007-04-10 22:37 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-04-10 22:36 Mathieu Desnoyers [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070410223658.GC7092@Krystal \
--to=mathieu.desnoyers@polymtl.ca \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox