On Fri, Jun 21, 2019 at 10:21 AM Gustavo Pimentel <[email protected]> wrote:
> On Mon, Jun 17, 2019 at 14:16:45, Arnd Bergmann <[email protected]> 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

