[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