# git rev-parse -q --verify 06cfdca71d0b8b58f29f9e18f8cacc1172034971^{commit} 06cfdca71d0b8b58f29f9e18f8cacc1172034971 already have revision, skipping fetch # git checkout -q -f -B kisskb 06cfdca71d0b8b58f29f9e18f8cacc1172034971 # git clean -qxdf # < git log -1 # commit 06cfdca71d0b8b58f29f9e18f8cacc1172034971 # 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 usage 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 06cfdca71d0b8b58f29f9e18f8cacc1172034971 # < make -s -j 120 ARCH=powerpc O=/kisskb/build/powerpc-fixes_pmac32_defconfig+KVM_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- pmac32_defconfig # Added to kconfig CONFIG_VIRTUALIZATION=y # Added to kconfig CONFIG_KVM=y # Added to kconfig CONFIG_KVM_BOOK3S_32=m # Added to kconfig # yes \n | make -s -j 120 ARCH=powerpc O=/kisskb/build/powerpc-fixes_pmac32_defconfig+KVM_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- oldconfig yes: standard output: Broken pipe # make -s -j 120 ARCH=powerpc O=/kisskb/build/powerpc-fixes_pmac32_defconfig+KVM_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- In file included from /kisskb/src/sound/ppc/pmac.h:25:0, from /kisskb/src/sound/ppc/awacs.c:29: /kisskb/src/sound/ppc/awacs.c: In function 'snd_pmac_awacs_init': /kisskb/src/include/sound/control.h:223:9: warning: 'speaker_vol' may be used uninitialized in this function [-Wmaybe-uninitialized] return _snd_ctl_add_slave(master, slave, 0); ^ /kisskb/src/sound/ppc/awacs.c:886:36: note: 'speaker_vol' was declared here struct snd_kcontrol *master_vol, *speaker_vol; ^ INFO: Uncompressed kernel (size 0x8c493c) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0x900000) Completed OK # rm -rf /kisskb/build/powerpc-fixes_pmac32_defconfig+KVM_powerpc-gcc5 # Build took: 0:00:51.204587