On Fri, Jun 21, 2019 at 10:21 AM Gustavo Pimentel <Gustavo.Pimentel@xxxxxxxxxxxx> wrote: > On Mon, Jun 17, 2019 at 14:16:45, Arnd Bergmann <arnd@xxxxxxxx> wrote: > > > Putting large constant data on the stack causes unnecessary overhead > > and stack usage: > > > > drivers/dma/dw-edma/dw-edma-v0-debugfs.c:285:6: error: stack frame size of 1376 bytes in function 'dw_edma_v0_debugfs_on' [-Werror,-Wframe-larger-than=] > > I had that warning at the beginning of the development, that's why I > divided the debugfs entries into several subfunctions. Perhaps my > configuration has configured a bigger stack frame size than your > configuration. I suspect the problem is CONFIG_GCC_PLUGIN_STRUCTLEAK_VERBOSE, which is a farily new configuration option that has the unintended side-effect of sometimes preventing the compiler combining local variables from functions inlined into the caller. Adding 'noinline_for_stack' to the sub-functions would have also prevented this, but I think just not having the strings on the stack is better anyway. Arnd