Messages in this thread | | | Date | Fri, 14 Dec 2007 17:31:30 +0100 | From | Eric Dumazet <> | Subject | Re: RFC: remove __read_mostly |
| |
Arnd Bergmann a écrit : > On Thursday 13 December 2007, Adrian Bunk wrote: > >> On Thu, Dec 13, 2007 at 11:29:08PM +0100, Andi Kleen wrote: >> >>> Adrian Bunk <bunk@kernel.org> writes: >>> >>>> -rwxrwxr-x 1 bunk bunk 46607243 2007-12-13 19:50 vmlinux.old >>>> -rwxrwxr-x 1 bunk bunk 46598691 2007-12-13 21:55 vmlinux >>>> >>> File sizes are useless -- check size output. >>> >> text data bss dec hex filename >> 29268488 3697961 5222400 38188849 246b731 vmlinux.old >> 29268435 3685565 5228784 38192784 246c690 vmlinux >> > > Just to make sure everyone interprets this correctly: > > The file size in the first example suggests a 8552 byte > (0.02%) size improvement for removing __read_mostly. > > The size output shows a -3935 byte (0.01%) size penalty > instead, much smaller because data that was moved out to > the .data.read_mostly section from .bss now takes space > in the binary but won't consume more RAM. > > Since 'size' does not take any sections except text, data and > bss into account, its output is more often than not also > misleading, but at least it shows that the footprint is likely > to get larger without __read_mostly rather than smaller. > > Your analysis is fine, except the last point. Just check "size -A vmlinux" and you'll see that "size vmlinux" take into account not only "text, data and bss"
# size vmlinux text data bss dec hex filename 4835243 450722 610304 5896269 59f84d vmlinux # size -A vmlinux vmlinux : section size addr .text.head 885 3222274048 .text 3359764 3222278144 __ex_table 3904 3225637920 .notes 36 3225641824 __bug_table 21120 3225641864 .rodata 1130680 3225665536 .pci_fixup 2192 3226796216 __ksymtab 23104 3226798408 __ksymtab_gpl 7224 3226821512 __ksymtab_unused_gpl 16 3226828736 __ksymtab_gpl_future 24 3226828752 __ksymtab_strings 72470 3226828776 __param 4020 3226901248 .data 309056 3226906624 .data_nosave 4096 3227217920 .data.page_aligned 2048 3227222016 .data.cacheline_aligned 46720 3227224064 .data.read_mostly 11388 3227270784 .data.init_task 8192 3227287552 .smp_locks 19128 3227295744 .init.text 137115 3227316224 .init.data 40290 3227453344 .init.setup 1656 3227493648 .initcall.init 1124 3227495304 .con_initcall.init 8 3227496428 .altinstructions 38771 3227496436 .altinstr_replacement 9908 3227535207 .exit.text 4750 3227545116 .init.ramfs 132 3227553792 .data.percpu 26144 3227557888 .bss 610304 3227586560 .comment 19746 0 Total 5916015
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |