[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4762AFE2.2000003@cosmosbay.com>
Date: Fri, 14 Dec 2007 17:31:30 +0100
From: Eric Dumazet <dada1@...mosbay.com>
To: Arnd Bergmann <arnd@...db.de>
Cc: Adrian Bunk <bunk@...nel.org>, Andi Kleen <andi@...stfloor.org>,
linux-kernel@...r.kernel.org, linux-arch@...r.kernel.org
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@...nel.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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists