mirror of
https://github.com/torvalds/linux.git
synced 2024-12-16 16:12:52 +00:00
3686fe9642
Currently the VSC has no chance to notify the VSP of the dirty rectangle on VM panic because the notification work is done in a workqueue, and in panic() the kernel typically ends up in an infinite loop, and a typical kernel config has CONFIG_PREEMPT_VOLUNTARY=y and CONFIG_PREEMPT is not set, so a context switch can't happen in panic() and the workqueue won't have a chance to run. As a result, the VM Connection window can't refresh until it's closed and we re-connect to the VM. We can register a handler on panic_notifier_list: the handler can notify the VSC and switch the framebuffer driver to a "synchronous mode", meaning the VSC flushes any future framebuffer change to the VSP immediately. v2: removed the MS-TFS line in the commit message v3: remove some 'unlikely' markings v4: avoid global variables as Tomi Valkeinen suggested Cc: Haiyang Zhang <haiyangz@microsoft.com> Signed-off-by: Dexuan Cui <decui@microsoft.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> |
||
---|---|---|
.. | ||
backlight | ||
console | ||
fbdev | ||
logo | ||
display_timing.c | ||
hdmi.c | ||
Kconfig | ||
Makefile | ||
of_display_timing.c | ||
of_videomode.c | ||
vgastate.c | ||
videomode.c |