[PATCH 2/2] fbdev: Improve performance of sys_imageblit()
Javier Martinez Canillas
javierm at redhat.com
Fri Feb 18 09:24:15 UTC 2022
Hello Thomas,
On 2/17/22 11:34, Thomas Zimmermann wrote:
> Improve the performance of sys_imageblit() by manually unrolling
> the inner blitting loop and moving some invariants out. The compiler
> failed to do this automatically. The resulting binary code was even
> slower than the cfb_imageblit() helper, which uses the same algorithm,
> but operates on I/O memory.
>
> A microbenchmark measures the average number of CPU cycles
> for sys_imageblit() after a stabilizing period of a few minutes
> (i7-4790, FullHD, simpledrm, kernel with debugging). The value
> for CFB is given as a reference.
>
> sys_imageblit(), new: 25934 cycles
> sys_imageblit(), old: 35944 cycles
> cfb_imageblit(): 30566 cycles
>
> In the optimized case, sys_imageblit() is now ~30% faster than before
> and ~20% faster than cfb_imageblit().
>
> Signed-off-by: Thomas Zimmermann <tzimmermann at suse.de>
> ---
This patch looks good to me as well.
Reviewed-by: Javier Martinez Canillas <javierm at redhat.com>
Best regards,
--
Javier Martinez Canillas
Linux Engineering
Red Hat
More information about the dri-devel
mailing list