Subject: Re: [PATCH 0/3] fbuffer: performance improvement + code cleanup

From: Alexey Kardashevskiy <[email-masked]>
Date: Fri, 29 May 2015 14:54:17 +1000

On 05/28/2015 11:13 PM, Greg Kurz wrote:
> If booted in frame buffer mode, board-qemu currently calls hv-logical-load
> and hv-logical-store for every pixel when enabling or disabling the cursor.
> This is suboptimal when writing one char at a time to the console since
> terminal-write always toggles the cursor. And this is precisely what grub
> is doing when the user wants to edit a menu entry... the result is an
> incredibly slow and barely usable interface.
>
> This series introduces per-board helpers to be used by the frame buffer
> code, so that board-qemu may have its own accelarated implementation:
>
> - the first patch is preliminary cleanup, before moving code out to helpers.
>
> - the second patch introduces a helper to invert a memory region byte-per-byte:
>    this fixes the unbearable slowliness of grub editing mode.
>
> - the third patch introduces a similar helper with a a quad-word pace: it
>    doesn't bring any speed improvement since board-qemu already uses
>    hv-logical-memop, but it allows to "unify hcall-invert-screen and
>    fb8-invert-screen again".
>
> Please comment.

Thanks, I'll remove that extra line in 3/3 and push these today.

>
> ---
>
> Greg Kurz (3):
>        fbuffer: simplify address computations in fb8-toggle-cursor
>        fbuffer: introduce the invert-region helper
>        fbuffer: introduce the invert-region-x helper
>
>
>   board-js2x/slof/helper.fs               |    9 +++++++++
>   board-qemu/slof/helper.fs               |    7 +++++++
>   board-qemu/slof/pci-device_1234_1111.fs |   10 +---------
>   slof/fs/fbuffer.fs                      |    8 +++-----
>   4 files changed, 20 insertions(+), 14 deletions(-)
>
> --
> Greg
>

-- 
Alexey