Re: [PATCH] 2.3.40: <linux/linkage.h> generates incorrect cache alignments

From: Artur Skawina (skawina@geocities.com)
Date: Fri Jan 28 2000 - 22:50:36 EST


almesber@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@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Jan 31 2000 - 21:00:23 EST