[PATCH v3 4/5] fbdev: Improve performance of cfb_imageblit()
Sam Ravnborg
sam at ravnborg.org
Wed Feb 23 20:25:45 UTC 2022
On Wed, Feb 23, 2022 at 08:38:03PM +0100, Thomas Zimmermann wrote:
> Improve the performance of cfb_imageblit() by manually unrolling
> the inner blitting loop and moving some invariants out. The compiler
> failed to do this automatically. This change keeps cfb_imageblit()
> in sync with sys_imagebit().
>
> A microbenchmark measures the average number of CPU cycles
> for cfb_imageblit() after a stabilizing period of a few minutes
> (i7-4790, FullHD, simpledrm, kernel with debugging).
>
> cfb_imageblit(), new: 15724 cycles
> cfb_imageblit(): old: 30566 cycles
>
> In the optimized case, cfb_imageblit() is now ~2x faster than before.
>
> v3:
> * fix commit description (Pekka)
>
> Signed-off-by: Thomas Zimmermann <tzimmermann at suse.de>
Acked-by: Sam Ravnborg <sam at ravnborg.org>
The code looks equally complicated now in the sys and cfb variants.
Question: What is cfb an abbreviation for anyway?
Not related to the patch - but if I have known the memory is lost..
Sam
More information about the dri-devel
mailing list