arm64: numa/topology/smp: update the cpumasks for CPU hotplug
Get series with b4
b4 am [email protected]Versions newest first
- v2 Latest1 of 7 patches 0 repliesNew
1 of 7 patches is in this archive. The cover letter announces 7.
Patches in v2 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 2/7 | arm64: numa: separate out updates to percpu nodeid and NUMA node cpumap | +0 | 0 replies |
Reviews trailers per patch
The patch has a Reviewed-by or Acked-by.
| Patch | Ganapatrao Kulkarni |
|---|---|
| Series | T-b |
| 2/7 | R-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH v2 0/7] arm64: numa/topology/smp: update the cpumasks for CPU hotplug
Hi Sudeep,
Quoted 9 lines · Sudeep Holla
Hi,
Commit
37c3ec2d810f("arm64: topology: divorce MC scheduling domain fromcore_siblings") was reported to cause some hotplug and system suspend regressions when
it was merged. On investigation, it was found that unlike x86/PPC,
arm64 doesn't update the cpu and numa masks on CPU hotplug. That's somewhat expected from the scheduler.
Quoted 7 lines
Since these changes were bit invasive as a solution to the above mentioned regression, as small change was temporarily applied as a fix. This series updates the cpu and numa masks on CPU hotplug and reverts that temporary fix.
It would be good to get this tested(CPU hotplug - few and all CPUs in a socket) on multi-socket/NUMA systems from Cavium and Huawei/Hisilicon.
testing looks ok on Cavium's ThunderX2 system. please feel free to add,
root at B1SABER_2>sudeep>> lscpu
Architecture: aarch64 Byte Order: Little Endian CPU(s): 224 On-line CPU(s) list: 0-223 Thread(s) per core: 4 Core(s) per socket: 28 Socket(s): 2 NUMA node(s): 2 L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 32768K NUMA node0 CPU(s): 0-111 NUMA node1 CPU(s): 112-223 root at B1SABER_2>sudeep>> sh hp.sh 0 111 0 root at B1SABER_2>sudeep>> lscpu Architecture: aarch64 Byte Order: Little Endian On-line CPU(s) list: 112-223 Off-line CPU(s) list: 0-111 Thread(s) per core: 4 Core(s) per socket: 28 Socket(s): 1 NUMA node(s): 2 L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 32768K
NUMA node0 CPU(s):
NUMA node1 CPU(s): 112-223
root at B1SABER_2>sudeep>> sh hp.sh 0 111 1 root at B1SABER_2>sudeep>> lscpu
Architecture: aarch64 Byte Order: Little Endian CPU(s): 224 On-line CPU(s) list: 0-223 Thread(s) per core: 4 Core(s) per socket: 28 Socket(s): 2 NUMA node(s): 2 L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 32768K NUMA node0 CPU(s): 0-111 NUMA node1 CPU(s): 112-223
root at B1SABER_2>sudeep>>
Quoted 25 lines
Regards,
Sudeep
v1->v2:
- Rebased on v4.18-rc1 and hence do revert of the temporary fix that was merged for v4.18
- Removed one of the wrong use ofpossible_maskSudeep Holla (7):
arm64: topology: refactorreset_cpu_topologyto add support for removing topology
arm64: numa: separate out updates to percpu nodeid and NUMA node cpumap
arm64: topology: add support to remove cpu topology sibling masks
arm64: topology: restrict updatingsiblings_masksto online cpus only
arm64: smp: remove cpu and numa topology information when hotplugging out CPU
arm64: topology: renamellc_siblingsto align with other struct members
arm64: topology: re-introduce numa mask check for scheduler MC selectionarch/arm64/include/asm/numa.h | 4 +++ arch/arm64/include/asm/topology.h | 3 +- arch/arm64/kernel/smp.c | 5 +++ arch/arm64/kernel/topology.c | 69 ++++++++++++++++++++++++++------------- arch/arm64/mm/numa.c | 29 +++++++++++----- 5 files changed, 79 insertions(+), 31 deletions(-)
Quoted 3 lines
--
2.7.4
thanks
Ganapat