[PATCH v2 1/1] drm/fb-helper: Don't schedule_work() to flush frame buffer during panic()
Thomas Zimmermann
tzimmermann at suse.de
Mon Aug 5 08:26:48 UTC 2024
Hi
Am 05.08.24 um 10:10 schrieb Zhuo, Qiuxu:
> Hi Thomas,
>
>> From: Thomas Zimmermann <tzimmermann at suse.de>
>> Sent: Monday, August 5, 2024 3:31 PM
>> [...]
>>> Hi Maarten and maintainers,
>>>
>>> A gentle ping :-).
>>>
>>> Could you please help push this v2 fix upstream?
>>> If you have any concerns, please let me know.
>> I already acked this patch, but I still have a question: during a panic, will fbcon
> Thanks for your kind review of this patch and ACK.
>
>> still print a panic message? I think that would likely require scheduling that
>> worker.
> During the error injection testing:
>
> 1) Without this v2 fix:
>
> 1.1) If panic() is not blocked on [1] (~99 times in 100 cycles),
> then the console/fbcon can print normal panic-related messages like [2],
> and the system can reboot successfully.
>
> 1.2) If panic() is blocked on [1] (~1 time in 100 cycles),
> then the console/fbcon is silent and the system gets hung without reboot.
> This is not the expected behavior. The system is expected to reboot.
>
> 2) With this v2 fix:
>
> 2.1) The console/fbcon can always print normal panic related messages like[2],
> and the system can reboot successfully. Same behavior to 1.1).
> [ we tested it ~1500 cycles. ]
>
> [1] panic() -> ... drm_fb_helper_damage() -> schedule_work().
> For details, pls see the v2 commit message.
>
> [2] Panic messages:
> [ 133.900042] mce: [Hardware Error]: CPU 0: Machine Check Exception: 5 Bank 4: ba00000000000e0b
> [ 133.900046] mce: [Hardware Error]: RIP !INEXACT! 10:<ffffffff8229ebec> {intel_idle_xstate+0x6c/0xc0}
> [ 133.900055] mce: [Hardware Error]: TSC 9701dd289b MISC 29100000 PPIN 9000d7561bb0e340
> [ 133.900057] mce: [Hardware Error]: PROCESSOR 0:a06d1 TIME 1715827713 SOCKET 0 APIC 0 microcode 810001d0
> [ 133.900060] mce: [Hardware Error]: Run the above through 'mcelog --ascii'
> [ 134.053858] mce: [Hardware Error]: Machine check: Processor context corrupt
> [ 134.053866] Kernel panic - not syncing: Fatal machine check
> [ 134.075183] Kernel Offset: disabled
> [ 134.111372] pstore: backend (erst) writing error (-28)
Thanks for the detailed reply.
I've found that your patch has already been merged and should now be in
v6.11-rc2. It'll probably be backported to older kernels as well.
> dim cite 833cd3e9ad8360785b6c23c82dd3856df00732d9
833cd3e9ad83 ("drm/fb-helper: Don't schedule_work() to flush frame
buffer during panic()")
> git tag --contains 833cd3e9ad8360785b6c23c82dd3856df00732d9
drm-fixes-2024-08-02
drm-misc-fixes-2024-08-01
v6.11-rc2
Best regards
Thomas
>
> Thanks!
> -Qiuxu
>
>
>
--
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)
More information about the dri-devel
mailing list