From: Manivannan Sadhasivam <mani@kernel.org>
To: Arnd Bergmann <arnd@kernel.org>
Cc: Gustavo Pimentel <gustavo.pimentel@synopsys.com>,
Vinod Koul <vkoul@kernel.org>,
Serge Semin <Sergey.Semin@baikalelectronics.ru>,
Arnd Bergmann <arnd@arndb.de>,
Bjorn Helgaas <bhelgaas@google.com>,
Lorenzo Pieralisi <lpieralisi@kernel.org>,
Frank Li <Frank.Li@nxp.com>,
dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] [v2] dmaengine: dw-edma: reduce stack usage after debugfs rework
Date: Tue, 31 Jan 2023 12:12:37 +0530 [thread overview]
Message-ID: <20230131064237.GA5548@thinkpad> (raw)
In-Reply-To: <20230130185101.2883245-1-arnd@kernel.org>
On Mon, Jan 30, 2023 at 07:50:42PM +0100, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
>
> After the dw_edma_debugfs_entry arrays are no longer compile-time
This sentence doesn't look complete to me.
> constant, they take up space on the stack, which exceeds the warning
> limit after inlining:
>
> drivers/dma/dw-edma/dw-edma-v0-debugfs.c:280:6: error: stack frame size (1784) exceeds limit (1400) in 'dw_edma_v0_debugfs_on' [-Werror,-Wframe-larger-than]
> void dw_edma_v0_debugfs_on(struct dw_edma *dw)
>
> Work around this by preventing dw_edma_debugfs_regs_{wr,rd} from both
> being inlined together, which cuts the stack frame size in half and
> makes it fit below the warning limit.
>
> Fixes: 5c0373eafd83 ("dmaengine: dw-edma: Move eDMA data pointer to debugfs node descriptor")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Small style comment below, with that:
Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
> ---
> v2: rebase on top of dmaengine tree
> ---
> drivers/dma/dw-edma/dw-edma-v0-debugfs.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/dma/dw-edma/dw-edma-v0-debugfs.c b/drivers/dma/dw-edma/dw-edma-v0-debugfs.c
> index 42380bf64a70..6542060bd01a 100644
> --- a/drivers/dma/dw-edma/dw-edma-v0-debugfs.c
> +++ b/drivers/dma/dw-edma/dw-edma-v0-debugfs.c
> @@ -136,7 +136,8 @@ static void dw_edma_debugfs_regs_ch(struct dw_edma *dw, enum dw_edma_dir dir,
> dw_edma_debugfs_create_x32(dw, debugfs_regs, nr_entries, dent);
> }
>
> -static void dw_edma_debugfs_regs_wr(struct dw_edma *dw, struct dentry *dent)
> +static noinline_for_stack void
> +dw_edma_debugfs_regs_wr(struct dw_edma *dw, struct dentry *dent)
For consistency, the function arguments could be wrapped:
static noinline_for_stack void dw_edma_debugfs_regs_wr(struct dw_edma *dw,
struct dentry *dent)
I could see that with the addition of "noinline_for_stack", the arguments are
shifted towards the end of the line. But this style matches rest of the
functions in this file.
Thanks,
Mani
> {
> const struct dw_edma_debugfs_entry debugfs_regs[] = {
> /* eDMA global registers */
> @@ -197,7 +198,8 @@ static void dw_edma_debugfs_regs_wr(struct dw_edma *dw, struct dentry *dent)
> }
> }
>
> -static void dw_edma_debugfs_regs_rd(struct dw_edma *dw, struct dentry *dent)
> +static noinline_for_stack void
> +dw_edma_debugfs_regs_rd(struct dw_edma *dw, struct dentry *dent)
> {
> const struct dw_edma_debugfs_entry debugfs_regs[] = {
> /* eDMA global registers */
> --
> 2.39.0
>
--
மணிவண்ணன் சதாசிவம்
next prev parent reply other threads:[~2023-01-31 6:45 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-30 18:50 [PATCH] [v2] dmaengine: dw-edma: reduce stack usage after debugfs rework Arnd Bergmann
2023-01-31 6:42 ` Manivannan Sadhasivam [this message]
2023-01-31 7:54 ` Serge Semin
2023-02-10 8:52 ` Vinod Koul
2023-02-10 12:35 ` Serge Semin
2023-02-10 15:25 ` Vinod Koul
2023-02-10 23:29 ` Bjorn Helgaas
2023-02-12 19:23 ` Serge Semin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230131064237.GA5548@thinkpad \
--to=mani@kernel.org \
--cc=Frank.Li@nxp.com \
--cc=Sergey.Semin@baikalelectronics.ru \
--cc=arnd@arndb.de \
--cc=arnd@kernel.org \
--cc=bhelgaas@google.com \
--cc=dmaengine@vger.kernel.org \
--cc=gustavo.pimentel@synopsys.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lpieralisi@kernel.org \
--cc=vkoul@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.