public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
From: Shuah Khan <skhan@linuxfoundation.org>
To: Linus Torvalds <torvalds@linux-foundation.org>,
	Naresh Kamboju <naresh.kamboju@linaro.org>,
	Mathias Nyman <mathias.nyman@intel.com>,
	Johannes Berg <johannes@sipsolutions.net>,
	Jakub Kicinski <kuba@kernel.org>,
	Brendan Higgins <brendanhiggins@google.com>,
	Ariel Elior <aelior@marvell.com>,
	GR-everest-linux-l2@marvell.com, Wei Liu <wei.liu@kernel.org>
Cc: Linux ARM <linux-arm-kernel@lists.infradead.org>,
	open list <linux-kernel@vger.kernel.org>,
	Netdev <netdev@vger.kernel.org>,
	lkft-triage@lists.linaro.org, Arnd Bergmann <arnd@arndb.de>,
	"David S. Miller" <davem@davemloft.net>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Nick Desaulniers <ndesaulniers@google.com>,
	Nathan Chancellor <nathan@kernel.org>,
	Daniel Borkmann <daniel@iogearbox.net>,
	Alexei Starovoitov <ast@kernel.org>,
	Eric Dumazet <edumazet@google.com>,
	Shuah Khan <skhan@linuxfoundation.org>
Subject: Re: ipv4/tcp.c:4234:1: error: the frame size of 1152 bytes is larger than 1024 bytes [-Werror=frame-larger-than=]
Date: Wed, 8 Sep 2021 08:11:36 -0600	[thread overview]
Message-ID: <36aa5cb7-e3d6-33cb-9ac6-c9ff1169d711@linuxfoundation.org> (raw)
In-Reply-To: <CAHk-=whF9F89vsfH8E9TGc0tZA-yhzi2Di8wOtquNB5vRkFX5w@mail.gmail.com>

On 9/7/21 5:14 PM, Linus Torvalds wrote:
> [ Added maintainers for various bits and pieces, since I spent the
> time trying to look at why those bits and pieces wasted stack-space
> and caused problems ]
> 
> On Tue, Sep 7, 2021 at 3:16 PM Linus Torvalds
> <torvalds@linux-foundation.org> wrote:
>>
>> None of these seem to be new.
> 
> That said, all but one of them seem to be (a) very much worth fixing
> and (b) easy to fix.
> 
> The do_tcp_getsockopt() one in tpc.c is a classic case of "lots of
> different case statements, many of them with their own struct
> allocations on stack, and all of them disjoint".
> 
> So the fix for that would be the traditional one of just making helper
> functions for the cases that aren't entirely trivial. We've done that
> before, and it not only fixes stack usage problems, it results in code
> that is easier to read, and generally actually performs better too
> (exactly because it avoids sparse stacks and extra D$ use)
> 
> The pe_test_uints() one is the same horrendous nasty Kunit pattern
> that I fixed in commit 4b93c544e90e ("thunderbolt: test: split up test
> cases in tb_test_credit_alloc_all") that had an even worse case.
> 
> The KUNIT macros create all these individually reasonably small
> initialized structures on stack, and when you have more than a small
> handful of them the KUNIT infrastructure just makes the stack space
> explode. Sometimes the compiler will be able to re-use the stack
> slots, but it seems to be an iffy proposition to depend on it - it
> seems to be a combination of luck and various config options.
> 

I have been concerned about these macros creeping in for a while.
I will take a closer look and work with Brendan to come with a plan
to address it.

> I detest code that exists for debugging or for testing, and that
> violates fundamental rules and causes more problems in the process.
> 

Having recently debugged a problem spinlock hold in an invalid context
related to debug code, I agree with you on this that test and debug code
shouldn't cause problems.

thanks,
-- Shuah


  parent reply	other threads:[~2021-09-08 14:11 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-06 12:27 ipv4/tcp.c:4234:1: error: the frame size of 1152 bytes is larger than 1024 bytes [-Werror=frame-larger-than=] Naresh Kamboju
2021-09-07 22:16 ` Linus Torvalds
2021-09-07 23:14   ` Linus Torvalds
2021-09-07 23:35     ` Nathan Chancellor
2021-09-07 23:49       ` Linus Torvalds
2021-09-08  0:15         ` Nathan Chancellor
2021-09-08  1:35           ` Linus Torvalds
2021-09-08  1:43             ` Linus Torvalds
2021-09-08 17:00               ` Arnd Bergmann
2021-09-08  7:09     ` Johannes Berg
2021-09-08 10:03     ` Wei Liu
2021-09-08 14:51       ` David Laight
2021-09-08 15:23         ` Wei Liu
2021-09-08 16:05           ` David Laight
2021-09-08 15:59       ` Linus Torvalds
2021-09-08 16:12         ` Wei Liu
2021-09-08 13:48     ` Thorsten Glaser
2021-09-08 14:50       ` Eric Dumazet
2021-09-08 15:48         ` Linus Torvalds
2021-09-08 16:56           ` Arnd Bergmann
2021-09-08 14:11     ` Shuah Khan [this message]
2021-09-08 17:05       ` Arnd Bergmann
2021-09-08 17:16         ` Shuah Khan
2021-09-08 21:24           ` Brendan Higgins
2021-09-08 22:27             ` Linus Torvalds
2021-09-13 20:55             ` Shuah Khan
2021-09-14 20:46               ` Brendan Higgins
2021-09-14 22:03                 ` Arnd Bergmann
2021-09-17  5:39                   ` Brendan Higgins
2021-09-17  6:16                     ` Brendan Higgins
2021-09-17  7:20                       ` Arnd Bergmann

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=36aa5cb7-e3d6-33cb-9ac6-c9ff1169d711@linuxfoundation.org \
    --to=skhan@linuxfoundation.org \
    --cc=GR-everest-linux-l2@marvell.com \
    --cc=aelior@marvell.com \
    --cc=arnd@arndb.de \
    --cc=ast@kernel.org \
    --cc=brendanhiggins@google.com \
    --cc=daniel@iogearbox.net \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=johannes@sipsolutions.net \
    --cc=kuba@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lkft-triage@lists.linaro.org \
    --cc=mathias.nyman@intel.com \
    --cc=naresh.kamboju@linaro.org \
    --cc=nathan@kernel.org \
    --cc=ndesaulniers@google.com \
    --cc=netdev@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    --cc=wei.liu@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox