linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: gaoxu <gaoxu2@honor.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>,
	Christoph Lameter <cl@linux.com>
Cc: "linux-mm@kvack.org" <linux-mm@kvack.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"surenb@google.com" <surenb@google.com>,
	yipengxiang <yipengxiang@honor.com>, gaoxu <gaoxu2@honor.com>
Subject: mm: percpu: increase PERCPU_MODULE_RESERVE to avoid allocation failure
Date: Tue, 22 Apr 2025 11:39:30 +0000	[thread overview]
Message-ID: <bcfb90b2cecf43d7a0760ebaddde10d8@honor.com> (raw)

In android16-6.12, enabling CONFIG_MEM_ALLOC_PROFILING causes some modules
to fail to load during boot because of failed percpu memory allocation.

[811:modprobe]percpu: allocation failed, size=5200 align=8 atomic=0, alloc
from reserved chunk failed
[811:modprobe]Call trace:
[811:modprobe] dump_backtrace+0xfc/0x17c
[811:modprobe] show_stack+0x18/0x28
[811:modprobe] dump_stack_lvl+0x40/0xc0
[811:modprobe] dump_stack+0x18/0x24
[811:modprobe] pcpu_alloc_noprof+0x96c/0xb58
[811:modprobe] percpu_modalloc+0x50/0xec
[811:modprobe] load_module+0x1158/0x153c
[811:modprobe] __arm64_sys_finit_module+0x23c/0x340
[811:modprobe] invoke_syscall+0x58/0x10c
[811:modprobe] el0_svc_common+0xa8/0xdc
[811:modprobe] do_el0_svc+0x1c/0x28
[811:modprobe] el0_svc+0x40/0x90
[811:modprobe] el0t_64_sync_handler+0x70/0xbc
[811:modprobe] el0t_64_sync+0x1a8/0x1ac
[811:modprobe]ipam: Could not allocate 5200 bytes percpu data

Increase PERCPU_MODULE_RESERVE to resolve this issue.

Signed-off-by: gao xu <gaoxu2@honor.com>
---
 include/linux/percpu.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/linux/percpu.h b/include/linux/percpu.h
index 52b5ea663..765c7f562 100644
--- a/include/linux/percpu.h
+++ b/include/linux/percpu.h
@@ -16,7 +16,7 @@
 /* enough to cover all DEFINE_PER_CPUs in modules */
 #ifdef CONFIG_MODULES
 #ifdef CONFIG_MEM_ALLOC_PROFILING
-#define PERCPU_MODULE_RESERVE		(8 << 13)
+#define PERCPU_MODULE_RESERVE		(8 << 14)
 #else
 #define PERCPU_MODULE_RESERVE		(8 << 10)
 #endif
-- 
2.17.1

             reply	other threads:[~2025-04-22 11:39 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-22 11:39 gaoxu [this message]
2025-04-23  0:02 ` Andrew Morton
2025-04-23  0:19   ` Suren Baghdasaryan
2025-04-23 15:12     ` Tejun Heo
2025-04-23 17:04       ` Suren Baghdasaryan
2025-04-23  1:17   ` Dennis Zhou

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=bcfb90b2cecf43d7a0760ebaddde10d8@honor.com \
    --to=gaoxu2@honor.com \
    --cc=akpm@linux-foundation.org \
    --cc=cl@linux.com \
    --cc=dennis@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=surenb@google.com \
    --cc=tj@kernel.org \
    --cc=yipengxiang@honor.com \
    /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