[PATCH v3 0/5] fbdev: Improve performance of fbdev console
Thomas Zimmermann
tzimmermann at suse.de
Wed Feb 23 19:37:59 UTC 2022
Optimize performance of the fbdev console for the common case of
software-based clearing and image blitting.
The commit descripton of each patch contains resuls os a simple
microbenchmark. I also tested the full patchset's effect on the
console output by printing directory listings (i7-4790, FullHD,
simpledrm, kernel with debugging).
> time find /usr/share/doc -type f
In the unoptimized case:
real 0m6.173s
user 0m0.044s
sys 0m6.107s
With optimizations applied:
real 0m4.754s
user 0m0.044s
sys 0m4.698s
In the optimized case, printing the directory listing is ~25% faster
than before.
In v2 of the patchset, after implementing Sam's suggestion to update
cfb_imageblit() as well, it turns out that the compiled code in
sys_imageblit() is still significantly slower than the CFB version. A
fix is probably a larger task and would include architecture-specific
changes. A new TODO item suggests to investigate the performance of the
various helpers and format-conversion functions in DRM and fbdev.
v3:
* fix description of cfb_imageblit() patch (Pekka)
v2:
* improve readability for sys_imageblit() (Gerd, Sam)
* new TODO item for further optimization
Thomas Zimmermann (5):
fbdev: Improve performance of sys_fillrect()
fbdev: Improve performance of sys_imageblit()
fbdev: Remove trailing whitespaces from cfbimgblt.c
fbdev: Improve performance of cfb_imageblit()
drm: Add TODO item for optimizing format helpers
Documentation/gpu/todo.rst | 22 +++++
drivers/video/fbdev/core/cfbimgblt.c | 107 ++++++++++++++++---------
drivers/video/fbdev/core/sysfillrect.c | 16 +---
drivers/video/fbdev/core/sysimgblt.c | 49 ++++++++---
4 files changed, 133 insertions(+), 61 deletions(-)
--
2.35.1
More information about the dri-devel
mailing list