# git rev-parse -q --verify 10f78fd0dabbc3856ddd67b09a46abdedb045913^{commit} 10f78fd0dabbc3856ddd67b09a46abdedb045913 already have revision, skipping fetch # git checkout -q -f -B kisskb 10f78fd0dabbc3856ddd67b09a46abdedb045913 # git clean -qxdf # < git log -1 # commit 10f78fd0dabbc3856ddd67b09a46abdedb045913 # Author: Srikar Dronamraju # Date: Fri Nov 27 11:07:38 2020 +0530 # # powerpc/numa: Fix a regression on memoryless node 0 # # Commit e75130f20b1f ("powerpc/numa: Offline memoryless cpuless node 0") # offlines node 0 and expects nodes to be subsequently onlined when CPUs # or nodes are detected. # # Commit 6398eaa26816 ("powerpc/numa: Prefer node id queried from vphn") # skips onlining node 0 when CPUs are associated with node 0. # # On systems with node 0 having CPUs but no memory, this causes node 0 be # marked offline. This causes issues at boot time when trying to set # memory node for online CPUs while building the zonelist. # # 0:mon> t # [link register ] c000000000400354 __build_all_zonelists+0x164/0x280 # [c00000000161bda0] c0000000016533c8 node_states+0x20/0xa0 (unreliable) # [c00000000161bdc0] c000000000400384 __build_all_zonelists+0x194/0x280 # [c00000000161be30] c000000001041800 build_all_zonelists_init+0x4c/0x118 # [c00000000161be80] c0000000004020d0 build_all_zonelists+0x190/0x1b0 # [c00000000161bef0] c000000001003cf8 start_kernel+0x18c/0x6a8 # [c00000000161bf90] c00000000000adb4 start_here_common+0x1c/0x3e8 # 0:mon> r # R00 = c000000000400354 R16 = 000000000b57a0e8 # R01 = c00000000161bda0 R17 = 000000000b57a6b0 # R02 = c00000000161ce00 R18 = 000000000b5afee8 # R03 = 0000000000000000 R19 = 000000000b6448a0 # R04 = 0000000000000000 R20 = fffffffffffffffd # R05 = 0000000000000000 R21 = 0000000001400000 # R06 = 0000000000000000 R22 = 000000001ec00000 # R07 = 0000000000000001 R23 = c000000001175580 # R08 = 0000000000000000 R24 = c000000001651ed8 # R09 = c0000000017e84d8 R25 = c000000001652480 # R10 = 0000000000000000 R26 = c000000001175584 # R11 = c000000c7fac0d10 R27 = c0000000019568d0 # R12 = c000000000400180 R28 = 0000000000000000 # R13 = c000000002200000 R29 = c00000000164dd78 # R14 = 000000000b579f78 R30 = 0000000000000000 # R15 = 000000000b57a2b8 R31 = c000000001175584 # pc = c000000000400194 local_memory_node+0x24/0x80 # cfar= c000000000074334 mcount+0xc/0x10 # lr = c000000000400354 __build_all_zonelists+0x164/0x280 # msr = 8000000002001033 cr = 44002284 # ctr = c000000000400180 xer = 0000000000000001 trap = 380 # dar = 0000000000001388 dsisr = c00000000161bc90 # 0:mon> # # Fix this by setting node to be online while onlining CPUs that belong to # node 0. # # Fixes: e75130f20b1f ("powerpc/numa: Offline memoryless cpuless node 0") # Fixes: 6398eaa26816 ("powerpc/numa: Prefer node id queried from vphn") # Reported-by: Milan Mohanty # Signed-off-by: Srikar Dronamraju # Signed-off-by: Michael Ellerman # Link: https://lore.kernel.org/r/20201127053738.10085-1-srikar@linux.vnet.ibm.com # < /opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-ld --version # < git log --format=%s --max-count=1 10f78fd0dabbc3856ddd67b09a46abdedb045913 # < make -s -j 120 ARCH=powerpc O=/kisskb/build/powerpc-fixes_52xx_lite5200b_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- 52xx/lite5200b_defconfig # make -s -j 120 ARCH=powerpc O=/kisskb/build/powerpc-fixes_52xx_lite5200b_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- /kisskb/src/arch/powerpc/platforms/52xx/lite5200_sleep.S: Assembler messages: /kisskb/src/arch/powerpc/platforms/52xx/lite5200_sleep.S:184: Warning: invalid register expression INFO: Uncompressed kernel (size 0x611fb8) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0x700000) INFO: Uncompressed kernel (size 0x611fb8) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0x700000) INFO: Uncompressed kernel (size 0x601900) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0x700000) Image Name: Linux-5.10.0-rc2-g10f78fd0dabb Created: Fri Nov 27 23:27:12 2020 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 2745005 Bytes = 2680.67 KiB = 2.62 MiB Load Address: 00700000 Entry Point: 00700284 Image Name: Linux-5.10.0-rc2-g10f78fd0dabb Created: Fri Nov 27 23:27:12 2020 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 2716333 Bytes = 2652.67 KiB = 2.59 MiB Load Address: 00000000 Entry Point: 00000000 Image Name: Linux-5.10.0-rc2-g10f78fd0dabb Created: Fri Nov 27 23:27:12 2020 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 2745525 Bytes = 2681.18 KiB = 2.62 MiB Load Address: 00700000 Entry Point: 00700284 Completed OK # rm -rf /kisskb/build/powerpc-fixes_52xx_lite5200b_defconfig_powerpc-gcc5 # Build took: 0:00:34.799375