# git rev-parse -q --verify 9ef34630a4614ee1cd478f9859ebea55d55f10ec^{commit} 9ef34630a4614ee1cd478f9859ebea55d55f10ec already have revision, skipping fetch # git checkout -q -f -B kisskb 9ef34630a4614ee1cd478f9859ebea55d55f10ec # git clean -qxdf # < git log -1 # commit 9ef34630a4614ee1cd478f9859ebea55d55f10ec # Author: Oliver O'Halloran # Date: Fri Dec 7 02:17:14 2018 +1100 # # powerpc/mm: Fallback to RAM if the altmap is unusable # # The "altmap" is used to provide a pool of memory that is reserved for # the vmemmap backing of hot-plugged memory. This is useful when adding # large amount of ZONE_DEVICE memory to a system with a limited amount of # normal memory. # # On ppc64 we use huge pages to map the vmemmap which requires the backing # storage to be contigious and aligned to the hugepage size. The altmap # implementation allows for the altmap provider to reserve a few PFNs at # the start of the range for it's own uses and when this occurs the # first chunk of the altmap is not usable for hugepage mappings. On hash # there is no sane way to fall back to a normal sized page mapping so we # fail the allocation. This results in memory hotplug failing with # ENOMEM when the new range doesn't fall into an existing vmemmap block. # # This patch handles this case by falling back to using system memory # rather than failing if we cannot allocate from the altmap. This # fallback should only ever be used for the first vmemmap block so it # should not cause excess memory consumption. # # Fixes: 7b73d978a5d0 ("mm: pass the vmem_altmap to vmemmap_populate") # Signed-off-by: Oliver O'Halloran # Signed-off-by: Michael Ellerman # < /opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < git log --format=%s --max-count=1 9ef34630a4614ee1cd478f9859ebea55d55f10ec # < make -s -j 48 ARCH=powerpc O=/kisskb/build/powerpc-fixes_corenet64_smp_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- corenet64_smp_defconfig # make -s -j 48 ARCH=powerpc O=/kisskb/build/powerpc-fixes_corenet64_smp_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- /kisskb/src/net/core/rtnetlink.c: In function 'rtnl_newlink': /kisskb/src/net/core/rtnetlink.c:3224:1: warning: the frame size of 1248 bytes is larger than 1024 bytes [-Wframe-larger-than=] } ^ INFO: Uncompressed kernel (size 0xf71578) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0x1000000) Image Name: Linux-4.20.0-rc1-g9ef34630a461 Created: Sun Dec 9 22:52:50 2018 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 6526646 Bytes = 6373.68 KiB = 6.22 MiB Load Address: 00000000 Entry Point: 00000000 Completed OK # rm -rf /kisskb/build/powerpc-fixes_corenet64_smp_defconfig_powerpc-gcc5 # Build took: 0:01:52.270114