From: Eric Dumazet <dada1@cosmosbay.com>
To: Andrew Morton <akpm@osdl.org>
Cc: arjan@infradead.org, linux-kernel@vger.kernel.org
Subject: Re: [patch 0/4] Series to allow a "const" file_operations struct
Date: Sat, 07 Jan 2006 08:40:37 +0100 [thread overview]
Message-ID: <43BF7075.3060703@cosmosbay.com> (raw)
In-Reply-To: <20060106162913.7621895c.akpm@osdl.org>
Andrew Morton a écrit :
> Eric Dumazet <dada1@cosmosbay.com> wrote:
>> On my x86_64 machine, I managed to reduce by 10% .data section by moving all
>> file_operations, but also 'address_space_operations', 'inode_operations,
>> super_operations, dentry_operations, seq_operations, ... to rodata section.
>>
>> size vmlinux*
>> text data bss dec hex filename
>> 2476156 522236 244868 3243260 317cfc vmlinux
>> 2588685 571348 246692 3406725 33fb85 vmlinux.old
>>
>
> Confused. Why should this result in an aggregate reduction in vmlinux size?
>
>
Sorry, vmlinux.old was with CONFIG_FRAME_POINTER and CONFIG_MODULES, not 'vmlinux'
If I add back CONFIG_FRAME_POINTER / CONFIG_MODULES on my config I get :
# size vmlinux
text data bss dec hex filename
2627717 523988 244868 3396573 33d3dd vmlinux
Aggregate reduction might be possible because of 'const' : Compiler (gcc-3.4.4
here) is free to make further optimizations ?
# size -A vmlinux
vmlinux :
section size addr
.text 2128492 18446744071563116544
__ex_table 15408 18446744071565245040
.rodata 256486 18446744071565260448
.pci_fixup 2112 18446744071565516944
__ksymtab 34336 18446744071565519056
__ksymtab_gpl 5488 18446744071565553392
__kcrctab 0 18446744071565558880
__kcrctab_gpl 0 18446744071565558880
__ksymtab_strings 54978 18446744071565558880
__param 2560 18446744071565613864
.data 408392 18446744071565616448
.bss 244868 18446744071566024896
.data.cacheline_aligned 23936 18446744071566270464
.data.read_mostly 7296 18446744071566294400
.vsyscall_0 319 18446744073699065856
.xtime_lock 8 18446744073699066176
.vxtime 48 18446744073699066192
.wall_jiffies 8 18446744073699066240
.sys_tz 8 18446744073699066256
.sysctl_vsyscall 4 18446744073699066272
.xtime 16 18446744073699066288
.jiffies 8 18446744073699066304
.vsyscall_1 47 18446744073699066880
.vsyscall_2 13 18446744073699067904
.vsyscall_3 13 18446744073699068928
.data.init_task 8192 18446744071566311424
.init.text 124192 18446744071566319616
.init.data 42584 18446744071566443808
.init.setup 2184 18446744071566486400
.initcall.init 1240 18446744071566488584
.con_initcall.init 24 18446744071566489824
.security_initcall.init 0 18446744071566489848
.altinstructions 139 18446744071566489848
.altinstr_replacement 93 18446744071566489987
.exit.text 2907 18446744071566490080
.init.ramfs 134 18446744071566495744
.data.percpu 30040 18446744071566495936
.comment 11808 0
.note.GNU-stack 0 0
Total 3408381
# size -A vmlinux.old
vmlinux.4 :
section size addr
.text 2131420 18446744071563116544
__ex_table 15408 18446744071565247968
.rodata 214318 18446744071565263392
.pci_fixup 2112 18446744071565477712
__ksymtab 34368 18446744071565479824
__ksymtab_gpl 5488 18446744071565514192
__kcrctab 0 18446744071565519680
__kcrctab_gpl 0 18446744071565519680
__ksymtab_strings 55010 18446744071565519680
__param 2560 18446744071565574696
.data 451848 18446744071565577280
.bss 246692 18446744071566029184
.data.cacheline_aligned 23744 18446744071566278656
.data.read_mostly 11328 18446744071566302400
.vsyscall_0 319 18446744073699065856
.xtime_lock 8 18446744073699066176
.vxtime 48 18446744073699066192
.wall_jiffies 8 18446744073699066240
.sys_tz 8 18446744073699066256
.sysctl_vsyscall 4 18446744073699066272
.xtime 16 18446744073699066288
.jiffies 8 18446744073699066304
.vsyscall_1 47 18446744073699066880
.vsyscall_2 13 18446744073699067904
.vsyscall_3 13 18446744073699068928
.data.init_task 8192 18446744071566319616
.init.text 124352 18446744071566327808
.init.data 42616 18446744071566452160
.init.setup 2208 18446744071566494784
.initcall.init 1248 18446744071566496992
.con_initcall.init 24 18446744071566498240
.security_initcall.init 0 18446744071566498264
.altinstructions 139 18446744071566498264
.altinstr_replacement 93 18446744071566498403
.exit.text 2891 18446744071566498496
.init.ramfs 134 18446744071566503936
.data.percpu 30040 18446744071566504128
.comment 11844 0
.note.GNU-stack 0 0
Total 3418569
Eric
next prev parent reply other threads:[~2006-01-07 7:40 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-06 21:45 [patch 0/4] Series to allow a "const" file_operations struct Arjan van de Ven
2006-01-06 21:46 ` [patch 1/4] fix some f_ops abuse in acpi Arjan van de Ven
2006-01-06 21:47 ` [patch 2/4] fix input layer f_ops abuse Arjan van de Ven
2006-01-06 23:12 ` Dmitry Torokhov
2006-01-06 21:49 ` [patch 3/4] fix cifs bugs wrt writing to f_ops Arjan van de Ven
2006-01-06 21:51 ` [patch 4/4] Actually make the f_ops field const Arjan van de Ven
2006-01-07 8:00 ` Andrew Morton
2006-01-07 8:13 ` Arjan van de Ven
2006-01-06 21:55 ` [patch 0/4] Series to allow a "const" file_operations struct Arjan van de Ven
2006-01-06 22:46 ` Eric Dumazet
2006-01-07 0:29 ` Andrew Morton
2006-01-07 1:01 ` Arnd Bergmann
2006-01-07 7:40 ` Eric Dumazet [this message]
2006-01-07 8:33 ` Arjan van de Ven
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=43BF7075.3060703@cosmosbay.com \
--to=dada1@cosmosbay.com \
--cc=akpm@osdl.org \
--cc=arjan@infradead.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.