• Eric Sandeen's avatar
    ext4: reduce mballoc stack usage with noinline_for_stack · 4ddfef7b
    Eric Sandeen authored
    mballoc.c is a whole lot of static functions, which gcc seems to
    really like to inline.
    
    With the changes below, on x86, I can at least get from:
    
    432 ext4_mb_new_blocks
    240 ext4_mb_free_blocks
    208 ext4_mb_discard_group_preallocations
    188 ext4_mb_seq_groups_show
    164 ext4_mb_init_cache
    152 ext4_mb_release_inode_pa
    136 ext4_mb_seq_history_show
    ...
    
    to
    
    220 ext4_mb_free_blocks
    188 ext4_mb_seq_groups_show
    176 ext4_mb_regular_allocator
    164 ext4_mb_init_cache
    156 ext4_mb_new_blocks
    152 ext4_mb_release_inode_pa
    136 ext4_mb_seq_history_show
    124 ext4_mb_release_group_pa
    ...
    
    which still has some big functions in there, but not 432 bytes!
    Signed-off-by: default avatarEric Sandeen <sandeen@redhat.com>
    Signed-off-by: default avatarMingming Cao <cmm@us.ibm.com>
    Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
    4ddfef7b
mballoc.c 125 KB