Kefeng Wang 09cea61950 arm64: support page mapping percpu first chunk allocator
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 get

  WARNING: CPU: 15 PID: 461 at vmalloc.c:3087 pcpu_get_vm_areas+0x488/0x838

and 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.

Link: https://lkml.kernel.org/r/20210910053354.26721-3-wangkefeng.wang@huawei.com
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Cc: Andrey Konovalov <andreyknvl@gmail.com>
Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com>
Cc: Dmitry Vyukov <dvyukov@google.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Marco Elver <elver@google.com>
Cc: Will Deacon <will@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2021-11-06 13:30:37 -07:00
..
2021-10-22 09:08:08 -10:00
2021-09-01 08:44:42 -07:00
2021-10-17 19:25:20 -10:00
2021-10-17 17:17:28 -10:00
2021-09-07 12:38:59 -07:00
2021-09-09 11:48:27 -07:00
2021-09-09 11:39:57 -07:00
2021-09-08 11:50:26 -07:00
2021-09-09 11:07:47 -07:00
2021-10-17 17:30:49 -10:00
2021-10-22 10:31:32 -10:00
2021-10-17 17:10:00 -10:00
2021-10-08 11:57:54 -07:00
2021-09-01 08:44:42 -07:00
2021-09-07 12:38:59 -07:00
2021-11-06 13:30:34 -07:00
2021-10-16 09:00:46 -07:00
2021-09-20 12:43:34 +01:00
2021-10-01 14:45:23 -07:00
2021-09-01 08:44:42 -07:00
2021-10-17 17:17:28 -10:00
2021-09-01 10:29:29 -07:00
2021-10-28 10:04:39 -07:00
2021-10-17 17:06:31 -10:00
2021-10-15 15:04:02 +02:00
2021-10-17 18:17:19 -10:00
2021-10-08 12:55:23 -07:00
2021-08-14 15:54:09 -06:00