Re: [patch 0/4] Series to allow a "const" file_operations struct

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Andrew Morton a écrit :
Eric Dumazet <[email protected]> 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

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux