You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The problem is addressed in #2023 (comment) : at the moment our code uses for_each_possible_cpu() in several places and even NR_CPUS, but it was never tested against (and even designed!) hot-plug or even switch on/off (e.g. with sysctl) CPUs. Some other places use for_each_online_cpus(). We have no idea whether Tempesta works with dynamically switched on/off or added/removed CPUs.
So in some cases we allocate extra memory for CPUs, which are never used. E.g. imagine how bad it is on basic Ubuntu 22:
Motivation
The problem is addressed in #2023 (comment) : at the moment our code uses
for_each_possible_cpu()
in several places and evenNR_CPUS
, but it was never tested against (and even designed!) hot-plug or even switch on/off (e.g. withsysctl
) CPUs. Some other places usefor_each_online_cpus()
. We have no idea whether Tempesta works with dynamically switched on/off or added/removed CPUs.So in some cases we allocate extra memory for CPUs, which are never used. E.g. imagine how bad it is on basic Ubuntu 22:
Scope
Need to move to
for_each_online_cpu()
and removeNR_CPUS
fromfw/cache.c
.Testing
There is no need any specific testing, our regular CI is enough
Documentation
Probably it makes sense to update https://tempesta-tech.com/knowledge-base/Requirements/ if switching off
CONFIG_HOTPLUG_CPU
could provide any performance improvements due to simplified macros around the kernel.The text was updated successfully, but these errors were encountered: