[PATCH 0/5] drm/fb-helper: Remove damage worker
Thomas Zimmermann
tzimmermann at suse.de
Thu Nov 10 13:55:14 UTC 2022
The fbdev emulation runs a separate worker that collects all changes
to the framebuffer and runs DRM damage handling. But this can also be
performed by the worker of fbdev's deferred-I/O code. Move damage
handling there, remove the damage worker and reduce the latency.
I ran a simple benchmark with mplayer and Big Buck Bunny [1] on the
console to look for any changes to performance.
mplayer -nosound -vo fbdev -benchmark big_buck_bunny_1080p_surround.avi
On my test system (i7-4790, simpledrm, 1024x768), this command always
takes around 95 seconds (57% VC, 36% VO, 7% sys). The difference in
internal scheduling appears to have no impact on performance.
[1] https://download.blender.org/peach/bigbuckbunny_movies/big_buck_bunny_1080p_surround.avi
Thomas Zimmermann (5):
drm/fb-helper: Set damage-clip area in helper
drm/fb-helper: Move dirty-fb update into helper function
drm/fb-helper: Perform damage handling in deferred-I/O helper
drm/fb-helper: Schedule deferred-I/O worker after writing to
framebuffer
drm/fb-helper: Remove damage worker
drivers/gpu/drm/drm_fb_helper.c | 116 +++++++++++++++++++---------
drivers/video/fbdev/core/fb_defio.c | 16 ++++
include/drm/drm_fb_helper.h | 2 -
include/linux/fb.h | 1 +
4 files changed, 95 insertions(+), 40 deletions(-)
base-commit: 3aa97a74d622aa26fe79cf4bd819b6a4fd176e90
--
2.38.0
More information about the dri-devel
mailing list