• Arnd Bergmann's avatar
    vme: bridges: reduce stack usage · 7483e7a9
    Arnd Bergmann authored
    With CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3, the stack usage in vme_fake
    grows above the warning limit:
    
    drivers/vme/bridges/vme_fake.c: In function 'fake_master_read':
    drivers/vme/bridges/vme_fake.c:610:1: error: the frame size of 1160 bytes is larger than 1024 bytes [-Werror=frame-larger-than=]
    drivers/vme/bridges/vme_fake.c: In function 'fake_master_write':
    drivers/vme/bridges/vme_fake.c:797:1: error: the frame size of 1160 bytes is larger than 1024 bytes [-Werror=frame-larger-than=]
    
    The problem is that in some configurations, each call to
    fake_vmereadX() puts another variable on the stack.
    
    Reduce the amount of inlining to get back to the previous state,
    with no function using more than 200 bytes each.
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Link: https://lore.kernel.org/r/20200107200610.3482901-1-arnd@arndb.deSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    7483e7a9
vme_fake.c 29.4 KB