OpenCloudOS-Kernel/arch/powerpc/platforms
Aneesh Kumar K.V b277fc793d powerpc/papr_scm: Update the NUMA distance table for the target node
Platform device helper routines won't update the NUMA distance table
while creating a platform device, even if the device is present on a
NUMA node that doesn't have memory or CPU. This is especially true for
pmem devices. If the target node of the pmem device is not online, we
find the nearest online node to the device and associate the pmem device
with that online node. To find the nearest online node, we should have
the numa distance table updated correctly. Update the distance
information during the device probe.

For a papr scm device on NUMA node 3 distance_lookup_table value for
distance_ref_points_depth = 2 before and after fix is below:

Before fix:
  node 3 distance depth 0  - 0
  node 3 distance depth 1  - 0
  node 4 distance depth 0  - 4
  node 4 distance depth 1  - 2
  node 5 distance depth 0  - 5
  node 5 distance depth 1  - 1

After fix
  node 3 distance depth 0  - 3
  node 3 distance depth 1  - 1
  node 4 distance depth 0  - 4
  node 4 distance depth 1  - 2
  node 5 distance depth 0  - 5
  node 5 distance depth 1  - 1

Without the fix, the nearest numa node to the pmem device (NUMA node 3)
will be picked as 4. After the fix, we get the correct numa node which
is 5.

Fixes: da1115fdbd ("powerpc/nvdimm: Pick nearby online node if the device node is not online")
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20230404041433.1781804-1-aneesh.kumar@linux.ibm.com
2023-04-04 22:08:35 +10:00
..
4xx powerpc/msi: Fix deassociation of MSI descriptors 2022-12-17 10:58:48 +00:00
8xx powerpc/8xx: Add missing of_node_put() in tqm8xx_setup.c 2022-09-05 17:28:25 +10:00
40x powerpc: Remove asm/prom.h from all files that don't need it 2022-05-08 22:15:04 +10:00
44x powerpc: Check !irq instead of irq == NO_IRQ and remove NO_IRQ 2023-01-30 17:53:05 +11:00
52xx powerpc/rtas: arch-wide function token lookup conversions 2023-02-13 22:35:03 +11:00
82xx powerpc: Add missing headers 2022-05-08 22:15:40 +10:00
83xx powerpc/83xx/mpc832x_rdb: call platform_device_put() in error case in of_fsl_spi_probe() 2022-12-02 20:09:48 +11:00
85xx powerpc/sgy_cts1000: convert to using gpiod API and facelift 2022-11-24 23:31:48 +11:00
86xx powerpc: Add missing headers 2022-05-08 22:15:40 +10:00
512x powerpc/512x: Add missing of_node_put() in clock-commonclk.c 2022-09-05 17:30:24 +10:00
amigaone powerpc: Add missing headers 2022-05-08 22:15:40 +10:00
book3s mm: replace vma->vm_flags direct modifications with modifier calls 2023-02-09 16:51:39 -08:00
cell powerpc updates for 6.3 2023-02-25 11:00:06 -08:00
chrp powerpc/rtas: arch-wide function token lookup conversions 2023-02-13 22:35:03 +11:00
embedded6xx powerpc/embedded6xx/ls_uart: Add missing of_node_put() 2022-09-05 17:28:26 +10:00
maple powerpc/rtas: arch-wide function token lookup conversions 2023-02-13 22:35:03 +11:00
microwatt random: remove CONFIG_ARCH_RANDOM 2022-07-18 15:03:37 +02:00
pasemi powerpc updates for 6.2 2022-12-19 07:13:33 -06:00
powermac powerpc/powermac: Fix symbol not declared warnings 2022-11-24 23:31:50 +11:00
powernv powerpc/secvar: Handle max object size in the consumer 2023-02-12 22:12:37 +11:00
ps3 powerpc updates for 6.3 2023-02-25 11:00:06 -08:00
pseries powerpc/papr_scm: Update the NUMA distance table for the target node 2023-04-04 22:08:35 +10:00
Kconfig powerpc: Rename PPC_NATIVE to PPC_HASH_MMU_NATIVE 2021-12-02 22:57:22 +11:00
Kconfig.cputype powerpc/64: Replace -mcpu=e500mc64 by -mcpu=e5500 2023-02-15 22:41:11 +11:00
Makefile powerpc: Add Microwatt platform 2021-06-21 21:15:26 +10:00
fsl_uli1575.c powerpc: Add missing headers 2022-05-08 22:15:40 +10:00