[PATCH v3 4/5] fbdev: Improve performance of cfb_imageblit()

Guenter Roeck linux at roeck-us.net
Thu Mar 24 21:18:08 UTC 2022


On 3/24/22 12:18, Thomas Zimmermann wrote:
> Hi
> 
> Am 24.03.22 um 20:11 schrieb Guenter Roeck:
>> Hi,
>>
>> 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>
>>
>> This patch causes crashes with arm mainstone, z2, and collie emulations.
>> Reverting it fixes the problem.
>>
>> collie crash log and bisect log attached.
> 
> Does it work if you apply the fixes at
> 
> https://patchwork.freedesktop.org/series/101321/
> 
> ?
> 

Yes, it does, specifically the cfb related patch. I sent a Tested-by:.

Thanks,
Guenter


More information about the dri-devel mailing list