linux-stable/arch
Gang Li b78b27d029 hugetlb: parallelize 1G hugetlb initialization
Optimizing the initialization speed of 1G huge pages through
parallelization.

1G hugetlbs are allocated from bootmem, a process that is already very
fast and does not currently require optimization.  Therefore, we focus on
parallelizing only the initialization phase in `gather_bootmem_prealloc`.

Here are some test results:
      test case       no patch(ms)   patched(ms)   saved
 ------------------- -------------- ------------- --------
  256c2T(4 node) 1G           4745          2024   57.34%
  128c1T(2 node) 1G           3358          1712   49.02%
     12T         1G          77000         18300   76.23%

[akpm@linux-foundation.org: s/initialied/initialized/, per Alexey]
Link: https://lkml.kernel.org/r/20240222140422.393911-9-gang.li@linux.dev
Signed-off-by: Gang Li <ligang.bdlg@bytedance.com>
Tested-by: David Rientjes <rientjes@google.com>
Reviewed-by: Muchun Song <muchun.song@linux.dev>
Cc: Alexey Dobriyan <adobriyan@gmail.com>
Cc: Daniel Jordan <daniel.m.jordan@oracle.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: Jane Chu <jane.chu@oracle.com>
Cc: Mike Kravetz <mike.kravetz@oracle.com>
Cc: Paul E. McKenney <paulmck@kernel.org>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Steffen Klassert <steffen.klassert@secunet.com>
Cc: Tim Chen <tim.c.chen@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2024-03-06 13:04:17 -08:00
..
alpha RTC for 6.8 2024-01-18 17:25:39 -08:00
arc Introduce cpu_dcache_is_aliasing() across all architectures 2024-02-22 15:27:19 -08:00
arm arch, crash: move arch_crash_save_vmcoreinfo() out to file vmcore_info.c 2024-02-23 17:48:25 -08:00
arm64 arm64/mm: improve comment in contpte_ptep_get_lockless() 2024-03-04 17:01:18 -08:00
csky Introduce cpu_dcache_is_aliasing() across all architectures 2024-02-22 15:27:19 -08:00
hexagon asm-generic cleanups for 6.8 2024-01-10 18:13:44 -08:00
loongarch loongarch, crash: wrap crash dumping code into crash related ifdefs 2024-02-23 17:48:24 -08:00
m68k Introduce cpu_dcache_is_aliasing() across all architectures 2024-02-22 15:27:19 -08:00
microblaze Microblaze patches for 6.8-rc1 2024-01-17 11:27:23 -08:00
mips mips, crash: wrap crash dumping code into crash related ifdefs 2024-02-23 17:48:24 -08:00
nios2 Introduce cpu_dcache_is_aliasing() across all architectures 2024-02-22 15:27:19 -08:00
openrisc
parisc Introduce cpu_dcache_is_aliasing() across all architectures 2024-02-22 15:27:19 -08:00
powerpc hugetlb: parallelize 1G hugetlb initialization 2024-03-06 13:04:17 -08:00
riscv riscv, crash: wrap crash dumping code into crash related ifdefs 2024-02-23 17:48:24 -08:00
s390 arch, crash: move arch_crash_save_vmcoreinfo() out to file vmcore_info.c 2024-02-23 17:48:25 -08:00
sh arch, crash: move arch_crash_save_vmcoreinfo() out to file vmcore_info.c 2024-02-23 17:48:25 -08:00
sparc Introduce cpu_dcache_is_aliasing() across all architectures 2024-02-22 15:27:19 -08:00
um work around gcc bugs with 'asm goto' with outputs 2024-02-09 15:57:48 -08:00
x86 x86/mm: always pass NULL as the first argument of switch_mm_irqs_off() 2024-03-04 17:01:14 -08:00
xtensa Introduce cpu_dcache_is_aliasing() across all architectures 2024-02-22 15:27:19 -08:00
.gitignore
Kconfig scs: add CONFIG_MMU dependency for vfree_atomic() 2024-01-25 23:52:21 -08:00