Hi Bruce,
Could you please merge these three patches into v6.12/standard/preempt-rt/base?
Allowing irq_work to be scheduled while trying to suspend has shown
to cause problems as some architectures interpret the pending
interrupts as a reason to not suspend. This became a problem for
printk() with the introduction of NBCON consoles.
Linux yocto introduce nbcon since commit 3b739d55b861 ("serial: 8250: Switch to
nbcon console") in 6.12 preempt-rt.
This will encounter call trace when suspend in acpi s4 occasionally:
unchecked MSR access error: WRMSR to 0x83f (tried to write 0x00000000000000f6)
at rIP: 0xffffffff8947e2f6 (native_apic_msr_write+0x26/0x50)
Call Trace:
<TASK>
? x2apic_send_IPI_self+0x19/0x20
arch_irq_work_raise+0x28/0x40
__irq_work_queue_local+0x40/0xf0
irq_work_queue+0x31/0x60
nbcon_kthreads_wake+0x5f/0x80
vprintk_emit+0x2c9/0x440
vprintk_deferred+0x21/0x30
vprintk+0x12/0x20
_printk+0x6c/0x87
swsusp_save+0x26/0x3a3
swsusp_arch_suspend+0x63/0x70
hibernation_snapshot+0x349/0x550
hibernate.cold+0xba/0x2a7
There is no nbcon in upstream v6.12, these patches will not go into v6.12.
So backport them to avoid calling irq_work when suspend to fix unchecked MSR
access error.
Patch 3 is a fix for the former one.
See the links:
https://lore.kernel.org/all/[email protected]/
https://lore.kernel.org/all/[email protected]/
Regards,
Jianpeng
John Ogness (3):
printk: Allow printk_trigger_flush() to flush all types
printk: Avoid scheduling irq_work on suspend
printk: Avoid irq_work for printk_deferred() on suspend
kernel/printk/internal.h | 8 ++--
kernel/printk/nbcon.c | 9 ++++-
kernel/printk/printk.c | 83 ++++++++++++++++++++++++++++++++--------
3 files changed, 79 insertions(+), 21 deletions(-)
--
2.49.1
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#16260):
https://lists.yoctoproject.org/g/linux-yocto/message/16260
Mute This Topic: https://lists.yoctoproject.org/mt/117611992/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-