System crashes on hot adding a core with drmgr command (4.15.0-48-generic)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
The Ubuntu-power-systems project |
Fix Released
|
Critical
|
Manoj Iyer | ||
linux (Ubuntu) |
Fix Released
|
Critical
|
Manoj Iyer | ||
Bionic |
Fix Released
|
High
|
Manoj Iyer |
Bug Description
[Impact]
On Bionic GA kernel (4.15.0), hot add of cpu with drmgr causes the kernel to crash. The patches identified to fix these issues disables changing the NUMA associations for CPUs and Memory at runtime by default.
[Test]
# drmgr -c cpu -r -q 1
# drmgr -c cpu -a -q 1
Test kernel available in ppa:ubuntu-
Please see comment #2 for before and after results with the patches applied.
[Fix]
558f86493df0 powerpc/numa: document topology_
2d4d9b308f8f powerpc/numa: improve control of topology updates
[Regression Potential]
The two patches relate to powerpc/numa and does not impact other architectures or platform code. Regression potential is low.
[Other Information]
== Comment: #0 - Hari Krishna Bathini <email address hidden> - 2019-05-07 13:18:35 ==
---Problem Description---
On 4.15.0-48-generic kernel, hot adding a cpu with drmgr is crashing the kernel
with below traces:
---
root@ubuntu:~# drmgr -c cpu -r -q 1
Validating CPU DLPAR capability...yes.
CPU 9
root@ubuntu:~#
root@ubuntu:~#
root@ubuntu:~#
root@ubuntu:~#
root@ubuntu:~#
root@ubuntu:~# drmgr -c cpu -a -q 1
Validating CPU DLPAR capability...yes.
[ 218.555493] BUG: arch topology borken
[ 218.555503] the DIE domain not a subset of the NODE domain
[ 218.555512] BUG: arch topology borken
[ 218.555516] the DIE domain not a subset of the NODE domain
[ 218.555523] BUG: arch topology borken
[ 218.555528] the DIE domain not a subset of the NODE domain
[ 218.555535] BUG: arch topology borken
[ 218.555539] the DIE domain not a subset of the NODE domain
[ 218.555545] BUG: arch topology borken
[ 218.555550] the DIE domain not a subset of the NODE domain
[ 218.555556] BUG: arch topology borken
[ 218.555560] the DIE domain not a subset of the NODE domain
[ 218.555567] BUG: arch topology borken
[ 218.555571] the DIE domain not a subset of the NODE domain
[ 218.555577] BUG: arch topology borken
[ 218.555581] the DIE domain not a subset of the NODE domain
[ 218.555672] Unable to handle kernel paging request for data at address 0x9332ae80f961139f
[ 218.555679] Faulting instruction address: 0xc0000000001768cc
[ 218.555686] Oops: Kernel access of bad area, sig: 11 [#1]
[ 218.555691] LE SMP NR_CPUS=2048 NUMA pSeries
[ 218.555699] Modules linked in: vmx_crypto crct10dif_vpmsum sch_fq_codel ib_iser rdma_cm iw_cm ib_cm ib_core iscsi_tcp libiscsi_tcp libiscsi scsi_transport_
[ 218.555745] CPU: 8 PID: 276 Comm: kworker/8:1 Not tainted 4.15.0-48-generic #51-Ubuntu
[ 218.555757] Workqueue: events cpuset_
[ 218.555763] NIP: c0000000001768cc LR: c0000000001769a8 CTR: 0000000000000000
[ 218.555770] REGS: c0000001f5f1f530 TRAP: 0380 Not tainted (4.15.0-48-generic)
[ 218.555776] MSR: 8000000000009033 <SF,EE,
[ 218.555789] CFAR: c000000000176920 SOFTE: 1
[ 218.555789] GPR00: c0000000001769a8 c0000001f5f1f7b0 c0000000016eb400 c0000001f7bfd200
[ 218.555789] GPR04: 0000000000000001 0000000000000000 0000000000000008 0000000000000010
[ 218.555789] GPR08: 0000000000000018 ffffffffffffffff c0000001f7bfd408 0000000000000000
[ 218.555789] GPR12: 0000000000008000 c000000007a35800 0000000000000007 c0000001f549d900
[ 218.555789] GPR16: 0000000000000040 c000000001722494 c0000001f0f29400 0000000000000001
[ 218.555789] GPR20: c0000001ffb68580 0000000000000008 c0000000011d8580 c00000000171dd78
[ 218.555789] GPR24: 0000000000000000 ffffffffffffe830 ffffffffffffec30 00000000000012af
[ 218.555789] GPR28: 000000000000102f c0000001f7bfd200 9332ae80f961139f 9332ae80f961139f
[ 218.555859] NIP [c0000000001768cc] free_sched_
[ 218.555866] LR [c0000000001769a8] destroy_
[ 218.555871] Call Trace:
[ 218.555875] [c0000001f5f1f7b0] [ffffffffffffec30] 0xffffffffffffec30 (unreliable)
[ 218.555884] [c0000001f5f1f7f0] [c0000000001769a8] destroy_
[ 218.555892] [c0000001f5f1f820] [c000000000176eb0] cpu_attach_
[ 218.555900] [c0000001f5f1f960] [c000000000178884] build_sched_
[ 218.555908] [c0000001f5f1fa90] [c000000000179a70] partition_
[ 218.555916] [c0000001f5f1fb20] [c0000000001ffb60] rebuild_
[ 218.555924] [c0000001f5f1fb50] [c000000000202e68] rebuild_
[ 218.555932] [c0000001f5f1fb80] [c000000000202fc8] cpuset_
[ 218.555941] [c0000001f5f1fc90] [c000000000135858] process_
[ 218.555949] [c0000001f5f1fd20] [c000000000135bf8] worker_
[ 218.555956] [c0000001f5f1fdc0] [c00000000013e7e8] kthread+0x1a8/0x1b0
[ 218.555964] [c0000001f5f1fe30] [c00000000000b658] ret_from_
[ 218.555971] Instruction dump:
[ 218.555975] 7d908026 fbe1fff8 91810008 f8010010 f821ffc1 7c7d1b78 2e240000 7c7f1b78
[ 218.555985] 48000010 7fbee840 7fdff378 419e0074 <ebdf0000> 4192002c 7c0004ac e95f0010
[ 218.555997] ---[ end trace 1d7b9b38e50835a4 ]---
---
---uname output---
Linux ubuntu 4.15.0-48-generic #51-Ubuntu SMP Wed Apr 3 08:26:19 UTC 2019 ppc64le ppc64le ppc64le GNU/Linux
Machine Type = na
---Debugger---
A debugger is not configured
---Steps to Reproduce---
1. Install a 4.15 kernel (4.15.0-48-generic)
2. Hot remove a core: drmgr -c cpu -r -q 1
3. Hot add a core: drmgr -c cpu -a -q 1
Actual Result:
System crashes after "drmgr -c cpu -a -q 1" command is issued
Expected result:
Hot add succeeds without any crash
== Comment: #20 - SEETEENA THOUFEEK <email address hidden> - 2019-06-20 07:00:39 ==
Please integrate these two patches
powerpc/numa: improve control of topology updates
When booted with "topology_
/proc/powerpc/
PRRN and VPHN events. However, migration and suspend unconditionally
re-enable reassignments via start_topology_
incoherent.
Check the topology_
start/stop_
aware of whether reassignments are enabled. This allows the
administrative decision on reassignments to remain in force across
migrations and suspensions.
Signed-off-by: Nathan Lynch <email address hidden>
Signed-off-by: Michael Ellerman <email address hidden>
powerpc/numa: document topology_
Changing the NUMA associations for CPUs and memory at runtime is
basically unsupported by the core mm, scheduler etc. We see all manner
of crashes, warnings and instability when the pseries code tries to do
this. Disable this behavior by default, and document the switch a bit.
Signed-off-by: Nathan Lynch <email address hidden>
Signed-off-by: Michael Ellerman <email address hidden>
Thanks in advance for your support.
CVE References
affects: | kernel-package (Ubuntu) → linux (Ubuntu) |
tags: | added: powervm |
Changed in ubuntu-power-systems: | |
importance: | Undecided → High |
Changed in linux (Ubuntu): | |
assignee: | Ubuntu on IBM Power Systems Bug Triage (ubuntu-power-triage) → Canonical Kernel Team (canonical-kernel-team) |
Changed in ubuntu-power-systems: | |
assignee: | nobody → Canonical Kernel Team (canonical-kernel-team) |
Changed in linux (Ubuntu): | |
assignee: | Canonical Kernel Team (canonical-kernel-team) → Manoj Iyer (manjo) |
importance: | Undecided → High |
Changed in ubuntu-power-systems: | |
assignee: | Canonical Kernel Team (canonical-kernel-team) → Manoj Iyer (manjo) |
Changed in ubuntu-power-systems: | |
status: | New → In Progress |
Changed in linux (Ubuntu): | |
status: | New → In Progress |
description: | updated |
description: | updated |
description: | updated |
Changed in ubuntu-power-systems: | |
importance: | High → Critical |
Changed in linux (Ubuntu): | |
importance: | High → Critical |
Changed in linux (Ubuntu Bionic): | |
importance: | Undecided → High |
Changed in linux (Ubuntu Bionic): | |
status: | New → Fix Committed |
Changed in ubuntu-power-systems: | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Bionic): | |
assignee: | nobody → Manoj Iyer (manjo) |
Changed in linux (Ubuntu): | |
status: | In Progress → Fix Released |
tags: | added: cscc |
Changed in ubuntu-power-systems: | |
status: | Fix Committed → Fix Released |
tags: |
added: targetmilestone-inin18042 removed: targetmilestone-inin--- |
Default Comment by Bridge