Bloat report 2.6.3 -> 2.6.4

From: Matt Mackall
Date: Fri Mar 12 2004 - 16:08:12 EST


I'm working on an automated scheme to measure the growth of the kernel
from release to release. The current methodology is to do comparisons
from x to y, with the default config for x in both cases. This is
automated with bloat-o-meter from linux-tiny and my kpatchup script
(http://selenic.com/kpatchup) plus a couple glue scripts. I intend to
post these reports regularly with new releases so comments on
improving the content are appreciated.

Here's a current sample report [with some explanatory comments
interspersed].

2.6.3 -> 2.6.4

text data bss dec hex filename
3313135 660247 162472 4135854 3f1bae vmlinux-2.6.3-c2.6.3
3342019 664154 162344 4168517 3f9b45 vmlinux-2.6.4-c2.6.3

[ Results of size <a> <b>. -c2.6.3 means both kernel images were built
with the 2.6.3 defconfig. The dec column tells us that the 2.6.4
kernel image has grown by almost 1% in one release. Output from
bloat-o-meter follows.]

add/remove: 241/88 grow/shrink: 380/265 up/down: 44772/20838

[ A quick summary of modifications. 241 new symbols in 2.6.4, 88
disappeared, 380 functions grew, 265 shrank, and total growth and
shrinkage of listed symbols]

[ Next we list the growth and shrinkage of given functions, sorted by
delta. Symbols that aren't present in a given version are reported as
- and treated as size zero. I'm currently only listing the top 15 gainers
and decliners in the report to keep things manageable, though
bloat-o-meter will generate a complete list. ]

function old new delta
n_tty_receive_buf 1991 4450 +2459
_csr1212_read_keyval - 1253 +1253
hpsb_allocate_and_register_addrspace - 1139 +1139
iso_stream_schedule - 820 +820
do_shmat - 767 +767
csr1212_append_new_cache - 519 +519
csr1212_generate_csr_image - 510 +510
iso_stream_init - 505 +505
csr1212_new_icon_descriptor_leaf - 409 +409
early_serial_init - 398 +398
inet_confirm_addr - 374 +374
csr1212_parse_dir_entry - 350 +350
setup_early_printk - 349 +349
do_unblank_screen - 348 +348
csr1212_generate_tree_subdir - 342 +342
...
iso_stream_find 495 199 -296
parport_parse_params 321 - -321
parport_setup 749 419 -330
itd_stream_schedule 342 - -342
nodemgr_read_text_leaf 348 - -348
rpc_proc_read 350 - -350
svc_proc_read 361 - -361
read_businfo_block 436 - -436
nodemgr_scan_root_directory 470 - -470
acpi_boot_init 684 157 -527
nodemgr_scan_unit_directory 541 - -541
ide_end_taskfile 589 - -589
sys_shmat 767 - -767
ohci_init_config_rom 955 - -955
n_tty_receive_char 2037 - -2037

[ Note that renames like sys_shmat to do_shmat show up in the top and
the bottom. ]

--
Matt Mackall : http://www.selenic.com : Linux development and consulting
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/