[PATCH] 2.3.40: <linux/linkage.h> generates incorrect cache alignments
Artur Skawina
skawina en geocities.com
Sab Ene 29 07:29:30 CST 2000
almesber en lrc.di.epfl.ch wrote:
>
> Looking at your ioport.s, I kind of wondered how much space we're wasting
> in the kernel for constant strings of this type ...
> I guess this should give the "let's throw five man-years at sequeezing
> 0.03871% worth of extra performance out of the kernel" folks some
> incentive ;-))
those are fairly innocent (mostly debugging msgs that can be turned off);
there are however quite a few strings in various _init functions that
are never even touched (fatal error msgs etc), or used only once on
bootup, but remain in kernel taking up nonswappable mem. last time i
counted it was ~12k (".rodata.init" section in the dump below) and
growing.
$ objdump -h linux-2.3.40pre1as/vmlinux
/usr/src/linux-2.3.40pre1as/vmlinux: file format elf32-i386
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 000d5a81 c0100000 c0100000 00001000 2**5
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .text.lock 00000f64 c01d5a84 c01d5a84 000d6a84 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
2 .rodata 0002ede0 c01d6a00 c01d6a00 000d7a00 2**5
CONTENTS, ALLOC, LOAD, READONLY, DATA
3 .kstrtab 00003f6a c02057e0 c02057e0 001067e0 2**5
CONTENTS, ALLOC, LOAD, READONLY, DATA
4 __ex_table 00001128 c0209750 c0209750 0010a750 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
5 __ksymtab 00002090 c020a878 c020a878 0010b878 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
6 .data 00020690 c020d000 c020d000 0010e000 2**12
CONTENTS, ALLOC, LOAD, DATA
7 .data.init_task 00002000 c022e000 c022e000 0012f000 2**5
CONTENTS, ALLOC, LOAD, DATA
8 .text.init 0000b3c8 c0230000 c0230000 00131000 2**4
CONTENTS, ALLOC, LOAD, READONLY, CODE
9 .data.init 0001a850 c023b3e0 c023b3e0 0013c3e0 2**5
CONTENTS, ALLOC, LOAD, DATA
10 .rodata.init 00002cd4 c0255c40 c0255c40 00156c40 2**5
CONTENTS, ALLOC, LOAD, READONLY, DATA
11 .setup.init 000000a8 c0258920 c0258920 00159920 2**2
CONTENTS, ALLOC, LOAD, DATA
12 .initcall.init 0000003c c02589c8 c02589c8 001599c8 2**2
CONTENTS, ALLOC, LOAD, DATA
13 .data.page_aligned 00000800 c0259000 c0259000 0015a000 2**5
CONTENTS, ALLOC, LOAD, DATA
14 .data.cacheline_aligned 00001d20 c0259800 c0259800 0015a800 2**5
CONTENTS, ALLOC, LOAD, DATA
15 .bss 00072cf0 c025b520 c025b520 0015c520 2**5
ALLOC
16 .comment 00003018 00000000 00000000 0015c520 2**0
CONTENTS, READONLY
17 .note 00001950 c02ce210 c02ce210 0015f538 2**0
CONTENTS, READONLY
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo en vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/
Más información sobre la lista de distribución Ayuda