[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHk-=wiynwuneR4EbUNtd2_yNT_DR0VQhUF1QOZ352D-NOncjQ@mail.gmail.com>
Date: Tue, 7 Sep 2021 16:49:35 -0700
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: Nathan Chancellor <nathan@...nel.org>
Cc: Naresh Kamboju <naresh.kamboju@...aro.org>,
Mathias Nyman <mathias.nyman@...el.com>,
Johannes Berg <johannes@...solutions.net>,
Jakub Kicinski <kuba@...nel.org>,
Shuah Khan <skhan@...uxfoundation.org>,
Brendan Higgins <brendanhiggins@...gle.com>,
Ariel Elior <aelior@...vell.com>,
GR-everest-linux-l2@...vell.com, Wei Liu <wei.liu@...nel.org>,
Linux ARM <linux-arm-kernel@...ts.infradead.org>,
open list <linux-kernel@...r.kernel.org>,
Netdev <netdev@...r.kernel.org>, lkft-triage@...ts.linaro.org,
Arnd Bergmann <arnd@...db.de>,
"David S. Miller" <davem@...emloft.net>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Nick Desaulniers <ndesaulniers@...gle.com>,
Daniel Borkmann <daniel@...earbox.net>,
Alexei Starovoitov <ast@...nel.org>,
Eric Dumazet <edumazet@...gle.com>
Subject: Re: ipv4/tcp.c:4234:1: error: the frame size of 1152 bytes is larger
than 1024 bytes [-Werror=frame-larger-than=]
On Tue, Sep 7, 2021 at 4:35 PM Nathan Chancellor <nathan@...nel.org> wrote:
>
> Won't your example only fix the issue with CONFIG_CPUMASK_OFFSTACK=y
Yes, but..
> or am I misreading the gigantic comment in include/linux/cpumask.h?
you're not misreading the comment, but you are missing this important fact:
config NR_CPUS_RANGE_END
int
depends on X86_64
default 8192 if SMP && CPUMASK_OFFSTACK
default 512 if SMP && !CPUMASK_OFFSTACK
default 1 if !SMP
so basically you can't choose more than 512 CPU's unless
CPUMASK_OFFSTACK is set.
Of course, we may have some bug in the Kconfig elsewhere, and I didn't
check other architectures. So maybe there's some way to work around
it.
But basically the rule is that CPUMASK_OFFSTACK and NR_CPUS are linked.
That linkage is admittedly a bit hidden and much too subtle. I think
the only real reason why it's done that way is because people wanted
to do test builds with CPUMASK_OFFSTACK even without having to have
some ludicrous number of NR_CPUS.
You'll notice that the question "CPUMASK_OFFSTACK" is only enabled if
DEBUG_PER_CPU_MAPS is true.
That whole "for debugging" reason made more sense a decade ago when
this was all new and fancy.
It might make more sense to do that very explicitly, and make
CPUMASK_OFFSTACK be just something like
config NR_CPUS_RANGE_END
def_bool NR_CPUS <= 512
and get rid of the subtlety and choice in the matter.
Linus
Powered by blists - more mailing lists