]> git.baikalelectronics.ru Git - kernel.git/commit
memblock: Disable mirror feature if kernelcore is not specified
authorMa Wupeng <mawupeng1@huawei.com>
Tue, 14 Jun 2022 09:21:56 +0000 (17:21 +0800)
committerArd Biesheuvel <ardb@kernel.org>
Wed, 15 Jun 2022 10:14:33 +0000 (12:14 +0200)
commitaecbbf74f409a6aa2bbffb8732824bfea0177e6a
tree23ecc9193e48b64428a3eb054cc660a68645955a
parent800d076feca6d0c3e63417480900feb061c33228
memblock: Disable mirror feature if kernelcore is not specified

If system have some mirrored memory and mirrored feature is not specified
in boot parameter, the basic mirrored feature will be enabled and this will
lead to the following situations:

- memblock memory allocation prefers mirrored region. This may have some
  unexpected influence on numa affinity.

- contiguous memory will be split into several parts if parts of them
  is mirrored memory via memblock_mark_mirror().

To fix this, variable mirrored_kernelcore will be checked in
memblock_mark_mirror(). Mark mirrored memory with flag MEMBLOCK_MIRROR iff
kernelcore=mirror is added in the kernel parameters.

Signed-off-by: Ma Wupeng <mawupeng1@huawei.com>
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Link: https://lore.kernel.org/r/20220614092156.1972846-6-mawupeng1@huawei.com
Acked-by: Mike Rapoport <rppt@linux.ibm.com>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
mm/internal.h
mm/memblock.c
mm/page_alloc.c