CPU call trace on AMD Raven Ridge after S3
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
Undecided
|
Timo Aaltonen | ||
Artful |
Fix Released
|
Medium
|
Unassigned |
Bug Description
[Impact]
Dmesg shows a call trace after S3 cycle.
This has been fixed in v4.14-rc1 with
commit 9662d43f523dfc0
Author: Yazen Ghannam <email address hidden>
Date: Mon Jul 24 12:12:28 2017 +0200
x86/mce/AMD: Allow any CPU to initialize the smca_banks array
Current SMCA implementations have the same banks on each CPU with the
non-core banks only visible to a "master thread" on each die. Practically,
this means the smca_banks array, which describes the banks, only needs to
be populated once by a single master thread.
CPU 0 seemed like a good candidate to do the populating. However, it's
possible that CPU 0 is not enabled in which case the smca_banks array won't
be populated.
Rather than try to figure out another master thread to do the populating,
we should just allow any CPU to populate the array.
Drop the CPU 0 check and return early if the bank was already initialized.
Also, drop the WARNing about an already initialized bank, since this will
be a common, expected occurrence.
The smca_banks array is only populated at boot time and CPUs are brought
online sequentially. So there's no need for locking around the array.
If the first CPU up is a master thread, then it will populate the array
with all banks, core and non-core. Every CPU afterwards will return
early. If the first CPU up is not a master thread, then it will populate
the array with all core banks. The first CPU afterwards that is a master
thread will skip populating the core banks and continue populating the
non-core banks.
Signed-off-by: Yazen Ghannam <email address hidden>
Signed-off-by: Borislav Petkov <email address hidden>
Acked-by: Jack Miller <email address hidden>
Cc: Linus Torvalds <email address hidden>
Cc: Peter Zijlstra <email address hidden>
Cc: Thomas Gleixner <email address hidden>
Cc: Tony Luck <email address hidden>
Cc: linux-edac <email address hidden>
Link: http://<email address hidden>
Signed-off-by: Ingo Molnar <email address hidden>
[Test case]
Suspend/resume Raven Ridge, see that it doesn't show the call trace any more.
[Regression potential]
4.14 released with it, and it fixes code which "for now" checked only CPU 0, so regressions potential is slim to none.
CVE References
Changed in linux (Ubuntu): | |
assignee: | nobody → Timo Aaltonen (tjaalton) |
status: | New → Confirmed |
Changed in linux (Ubuntu Artful): | |
importance: | Undecided → Medium |
status: | New → Fix Committed |
This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification- needed- artful' to 'verification- done-artful' . If the problem still exists, change the tag 'verification- needed- artful' to 'verification- failed- artful' .
If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.
See https:/ /wiki.ubuntu. com/Testing/ EnableProposed for documentation how to enable and use -proposed. Thank you!