Re: [PATCH v4 0/3] arm64: support page mapping percpu first chunk allocator

From: Andrew Morton
Date: Sun Oct 10 2021 - 17:36:57 EST


On Fri, 10 Sep 2021 13:33:51 +0800 Kefeng Wang <wangkefeng.wang@xxxxxxxxxx> wrote:

> Percpu embedded first chunk allocator is the firstly option, but it
> could fails on ARM64, eg,
> "percpu: max_distance=0x5fcfdc640000 too large for vmalloc space 0x781fefff0000"
> "percpu: max_distance=0x600000540000 too large for vmalloc space 0x7dffb7ff0000"
> "percpu: max_distance=0x5fff9adb0000 too large for vmalloc space 0x5dffb7ff0000"
>
> then we could meet "WARNING: CPU: 15 PID: 461 at vmalloc.c:3087 pcpu_get_vm_areas+0x488/0x838",
> even the system could not boot successfully.
>
> Let's implement page mapping percpu first chunk allocator as a fallback
> to the embedding allocator to increase the robustness of the system.
>
> Also fix a crash when both NEED_PER_CPU_PAGE_FIRST_CHUNK and KASAN_VMALLOC enabled.

How serious are these problems in real-world situations? Do people
feel that a -stable backport is needed, or is a 5.16-rc1 merge
sufficient?