[Qemu-devel] [PATCH 00/10] make display updates thread safe.

Gerd Hoffmann posted 10 patches 7 years ago
Only 9 patches received!
include/exec/memory.h   | 47 +++++++++++++++++++++++++++
include/exec/ram_addr.h |  7 ++++
include/qemu/bitmap.h   |  2 ++
include/qemu/typedefs.h |  1 +
exec.c                  | 75 ++++++++++++++++++++++++++++++++++++++++++
hw/display/cg3.c        | 40 +++++++++++------------
hw/display/tcx.c        | 86 ++++++++++++++++++-------------------------------
hw/display/vga.c        | 50 +++++++++++++++-------------
memory.c                | 17 ++++++++++
ui/console.c            | 25 +-------------
util/bitmap.c           | 11 +++++++
11 files changed, 241 insertions(+), 120 deletions(-)
[Qemu-devel] [PATCH 00/10] make display updates thread safe.
Posted by Gerd Hoffmann 7 years ago
  Hi,

Second round.  Helper API should be solid now, after patch discussions
and initial testing.  API is documented now in the header file.
Additionally to vga the sparc display adapters (cg3, tcx) are converted
too.  Still quite some work until we've got them all converted.  Still
enough progress that I think posting the new revision is useful.

cheers,
  Gerd

Gerd Hoffmann (5):
  bitmap: add bitmap_copy_and_clear_atomic
  memory: add support getting and using a dirty bitmap copy.
  vga: add vga_scanline_invalidated helper
  vga: make display updates thread safe.
  [testing] console: remove do_safe_dpy_refresh

Mark Cave-Ayland (5):
  cg3: remove TARGET_PAGE_SIZE rounding on dirty page detection
  cg3: fix up size parameter for memory_region_get_dirty()
  cg3: make display updates thread safe
  tcx: introduce tcx_check_dirty() function
  tcx: make display updates thread safe

 include/exec/memory.h   | 47 +++++++++++++++++++++++++++
 include/exec/ram_addr.h |  7 ++++
 include/qemu/bitmap.h   |  2 ++
 include/qemu/typedefs.h |  1 +
 exec.c                  | 75 ++++++++++++++++++++++++++++++++++++++++++
 hw/display/cg3.c        | 40 +++++++++++------------
 hw/display/tcx.c        | 86 ++++++++++++++++++-------------------------------
 hw/display/vga.c        | 50 +++++++++++++++-------------
 memory.c                | 17 ++++++++++
 ui/console.c            | 25 +-------------
 util/bitmap.c           | 11 +++++++
 11 files changed, 241 insertions(+), 120 deletions(-)

-- 
2.9.3


Re: [Qemu-devel] [PATCH 00/10] make display updates thread safe.
Posted by Mark Cave-Ayland 7 years ago
On 04/04/17 11:23, Gerd Hoffmann wrote:

>   Hi,
> 
> Second round.  Helper API should be solid now, after patch discussions
> and initial testing.  API is documented now in the header file.
> Additionally to vga the sparc display adapters (cg3, tcx) are converted
> too.  Still quite some work until we've got them all converted.  Still
> enough progress that I think posting the new revision is useful.
> 
> cheers,
>   Gerd
> 
> Gerd Hoffmann (5):
>   bitmap: add bitmap_copy_and_clear_atomic
>   memory: add support getting and using a dirty bitmap copy.
>   vga: add vga_scanline_invalidated helper
>   vga: make display updates thread safe.
>   [testing] console: remove do_safe_dpy_refresh
> 
> Mark Cave-Ayland (5):
>   cg3: remove TARGET_PAGE_SIZE rounding on dirty page detection
>   cg3: fix up size parameter for memory_region_get_dirty()
>   cg3: make display updates thread safe
>   tcx: introduce tcx_check_dirty() function
>   tcx: make display updates thread safe
> 
>  include/exec/memory.h   | 47 +++++++++++++++++++++++++++
>  include/exec/ram_addr.h |  7 ++++
>  include/qemu/bitmap.h   |  2 ++
>  include/qemu/typedefs.h |  1 +
>  exec.c                  | 75 ++++++++++++++++++++++++++++++++++++++++++
>  hw/display/cg3.c        | 40 +++++++++++------------
>  hw/display/tcx.c        | 86 ++++++++++++++++++-------------------------------
>  hw/display/vga.c        | 50 +++++++++++++++-------------
>  memory.c                | 17 ++++++++++
>  ui/console.c            | 25 +-------------
>  util/bitmap.c           | 11 +++++++
>  11 files changed, 241 insertions(+), 120 deletions(-)

All in all, looks reasonably good here.

I've just noticed that TCX 24-bit is still leaving some artifacts, but
from looking at the code I'm fairly confident that it's bugs in the
existing TCX code where some of the accelerated features aren't
correctly invalidating the external color plane.

Will have a play and see if I can send a patch later.


ATB,

Mark.


Re: [Qemu-devel] [PATCH 00/10] make display updates thread safe.
Posted by Mark Cave-Ayland 7 years ago
On 04/04/17 13:54, Mark Cave-Ayland wrote:

> I've just noticed that TCX 24-bit is still leaving some artifacts, but
> from looking at the code I'm fairly confident that it's bugs in the
> existing TCX code where some of the accelerated features aren't
> correctly invalidating the external color plane.
> 
> Will have a play and see if I can send a patch later.

So actually I started digging into the issues and ended up with a load
of invalidation fixes for TCX24 exposed by the thread-safe work, along
with some good clean ups.

I'll send through what I have shortly, however now that patchset has
expanded I think it's better to remove the TCX/CG3 patches from your
queue and just include the conversation to thread-safe routines.

Here's what your vga-fixes branch looks like rebased upon my patchset:
https://github.com/mcayland/qemu/commits/vga-fixes-sparc.


ATB,

Mark.