All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nathan Chancellor <nathan@kernel.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>,
	Shuah Khan <skhan@linuxfoundation.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>,
	Daniel Borkmann <daniel@iogearbox.net>,
	Alexei Starovoitov <ast@kernel.org>,
	Eric Dumazet <edumazet@google.com>
Subject: Re: ipv4/tcp.c:4234:1: error: the frame size of 1152 bytes is larger than 1024 bytes [-Werror=frame-larger-than=]
Date: Tue, 7 Sep 2021 16:35:26 -0700	[thread overview]
Message-ID: <92c20b62-c4a7-8e63-4a94-76bdf6d9481e@kernel.org> (raw)
In-Reply-To: <CAHk-=whF9F89vsfH8E9TGc0tZA-yhzi2Di8wOtquNB5vRkFX5w@mail.gmail.com>

On 9/7/2021 4:14 PM, Linus Torvalds wrote:
> There are many more of these cases. I've seen Hyper-V allocate 'struct
> cpumask' on the stack, which is once again an absolute no-no that
> people have apparently just ignored the warning for. When you have
> NR_CPUS being the maximum of 8k, those bits add up, and a single
> cpumask is 1kB in size. Which is why you should never do that on
> stack, and instead use '
> 
>         cpumask_var_t mask;
>         alloc_cpumask_var(&mask,..)
> 
> which will do a much more reasonable job. But the reason I call out
> hyperv is that as far as I know, hyperv itself doesn't actually
> support 8192 CPU's. So all that apic noise with 'struct cpumask' that
> uses 1kB of data when NR_CPUS is set to 8192 is just wasted. Maybe I'm
> wrong. Adding hyperv people to the cc too.

I am only commenting on this because I was looking into an instance of 
this warning yesterday with Fedora's arm64 config, which has 
CONFIG_NR_CPUS=4096:

https://lore.kernel.org/r/YTZyMx91zV9kfDkQ@Ryzen-9-3900X.localdomain/

Won't your example only fix the issue with CONFIG_CPUMASK_OFFSTACK=y or 
am I misreading the gigantic comment in include/linux/cpumask.h? As far 
as I can tell, only x86 selects it and it is not user configurable 
unless CONFIG_DEBUG_PER_CPU_MAPS is set, which is buried in the debug 
options so most people won't bother trying to enable it. If I understand 
correctly, how should these be dealt with in the case of 
CONFIG_CPUMASK_OFFSTACK=n?

Cheers,
Nathan

WARNING: multiple messages have this Message-ID (diff)
From: Nathan Chancellor <nathan@kernel.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>,
	Shuah Khan <skhan@linuxfoundation.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>,
	Daniel Borkmann <daniel@iogearbox.net>,
	Alexei Starovoitov <ast@kernel.org>,
	Eric Dumazet <edumazet@google.com>
Subject: Re: ipv4/tcp.c:4234:1: error: the frame size of 1152 bytes is larger than 1024 bytes [-Werror=frame-larger-than=]
Date: Tue, 7 Sep 2021 16:35:26 -0700	[thread overview]
Message-ID: <92c20b62-c4a7-8e63-4a94-76bdf6d9481e@kernel.org> (raw)
In-Reply-To: <CAHk-=whF9F89vsfH8E9TGc0tZA-yhzi2Di8wOtquNB5vRkFX5w@mail.gmail.com>

On 9/7/2021 4:14 PM, Linus Torvalds wrote:
> There are many more of these cases. I've seen Hyper-V allocate 'struct
> cpumask' on the stack, which is once again an absolute no-no that
> people have apparently just ignored the warning for. When you have
> NR_CPUS being the maximum of 8k, those bits add up, and a single
> cpumask is 1kB in size. Which is why you should never do that on
> stack, and instead use '
> 
>         cpumask_var_t mask;
>         alloc_cpumask_var(&mask,..)
> 
> which will do a much more reasonable job. But the reason I call out
> hyperv is that as far as I know, hyperv itself doesn't actually
> support 8192 CPU's. So all that apic noise with 'struct cpumask' that
> uses 1kB of data when NR_CPUS is set to 8192 is just wasted. Maybe I'm
> wrong. Adding hyperv people to the cc too.

I am only commenting on this because I was looking into an instance of 
this warning yesterday with Fedora's arm64 config, which has 
CONFIG_NR_CPUS=4096:

https://lore.kernel.org/r/YTZyMx91zV9kfDkQ@Ryzen-9-3900X.localdomain/

Won't your example only fix the issue with CONFIG_CPUMASK_OFFSTACK=y or 
am I misreading the gigantic comment in include/linux/cpumask.h? As far 
as I can tell, only x86 selects it and it is not user configurable 
unless CONFIG_DEBUG_PER_CPU_MAPS is set, which is buried in the debug 
options so most people won't bother trying to enable it. If I understand 
correctly, how should these be dealt with in the case of 
CONFIG_CPUMASK_OFFSTACK=n?

Cheers,
Nathan

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2021-09-07 23:35 UTC|newest]

Thread overview: 62+ 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-06 12:27 ` Naresh Kamboju
2021-09-07 22:16 ` Linus Torvalds
2021-09-07 22:16   ` Linus Torvalds
2021-09-07 23:14   ` Linus Torvalds
2021-09-07 23:14     ` Linus Torvalds
2021-09-07 23:35     ` Nathan Chancellor [this message]
2021-09-07 23:35       ` Nathan Chancellor
2021-09-07 23:49       ` Linus Torvalds
2021-09-07 23:49         ` Linus Torvalds
2021-09-08  0:15         ` Nathan Chancellor
2021-09-08  0:15           ` Nathan Chancellor
2021-09-08  1:35           ` Linus Torvalds
2021-09-08  1:35             ` Linus Torvalds
2021-09-08  1:43             ` Linus Torvalds
2021-09-08  1:43               ` Linus Torvalds
2021-09-08 17:00               ` Arnd Bergmann
2021-09-08 17:00                 ` Arnd Bergmann
2021-09-08  7:09     ` Johannes Berg
2021-09-08  7:09       ` Johannes Berg
2021-09-08 10:03     ` Wei Liu
2021-09-08 10:03       ` Wei Liu
2021-09-08 14:51       ` David Laight
2021-09-08 14:51         ` David Laight
2021-09-08 15:23         ` Wei Liu
2021-09-08 15:23           ` Wei Liu
2021-09-08 16:05           ` David Laight
2021-09-08 16:05             ` David Laight
2021-09-08 15:59       ` Linus Torvalds
2021-09-08 15:59         ` Linus Torvalds
2021-09-08 16:12         ` Wei Liu
2021-09-08 16:12           ` Wei Liu
2021-09-08 13:48     ` Thorsten Glaser
2021-09-08 13:48       ` Thorsten Glaser
2021-09-08 14:50       ` Eric Dumazet
2021-09-08 14:50         ` Eric Dumazet
2021-09-08 15:48         ` Linus Torvalds
2021-09-08 15:48           ` Linus Torvalds
2021-09-08 16:56           ` Arnd Bergmann
2021-09-08 16:56             ` Arnd Bergmann
2021-09-08 14:11     ` Shuah Khan
2021-09-08 14:11       ` Shuah Khan
2021-09-08 17:05       ` Arnd Bergmann
2021-09-08 17:05         ` Arnd Bergmann
2021-09-08 17:16         ` Shuah Khan
2021-09-08 17:16           ` Shuah Khan
2021-09-08 21:24           ` Brendan Higgins
2021-09-08 21:24             ` Brendan Higgins
2021-09-08 22:27             ` Linus Torvalds
2021-09-08 22:27               ` Linus Torvalds
2021-09-13 20:55             ` Shuah Khan
2021-09-13 20:55               ` Shuah Khan
2021-09-14 20:46               ` Brendan Higgins
2021-09-14 20:46                 ` Brendan Higgins
2021-09-14 22:03                 ` Arnd Bergmann
2021-09-14 22:03                   ` Arnd Bergmann
2021-09-17  5:39                   ` Brendan Higgins
2021-09-17  5:39                     ` Brendan Higgins
2021-09-17  6:16                     ` Brendan Higgins
2021-09-17  6:16                       ` Brendan Higgins
2021-09-17  7:20                       ` Arnd Bergmann
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=92c20b62-c4a7-8e63-4a94-76bdf6d9481e@kernel.org \
    --to=nathan@kernel.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=ndesaulniers@google.com \
    --cc=netdev@vger.kernel.org \
    --cc=skhan@linuxfoundation.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 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.