Message ID | 20220223193804.18636-1-tzimmermann@suse.de (mailing list archive) |
---|---|
Headers | show |
Series | fbdev: Improve performance of fbdev console | expand |
Hi, merged with fixes for the typoes in the final patch. Thanks for reviewing. Best regards Thomas Am 23.02.22 um 20:37 schrieb Thomas Zimmermann: > 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(-) >
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(-)