[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [Qemu-devel] qemu-system-ppc video artifacts since "tcg:
From: |
Gerd Hoffmann |
Subject: |
Re: [Qemu-ppc] [Qemu-devel] qemu-system-ppc video artifacts since "tcg: drop global lock during TCG code execution" |
Date: |
Tue, 28 Mar 2017 15:40:59 +0200 |
Hi,
> > Well, not *that* simple. vga checks the dirty bitmap with scanline
> > granularity, like that:
> >
> > foreach (scanline) {
> > if (get_dirty(scanline))
> > update_scanline()
> > }
> > reset_dirty(framebuffer)
> >
> > I suspect simply transforming that to
> >
> > foreach (scanline) {
> > if (test_and_clear_dirty(scanline))
> > update_scanline()
> > }
> >
> > is not going to fly due to page tracking working with page granularity.
> > With two subsequent scanlines within one page the second scanline will
> > never be updated because updating first clears the dirty bit of the
> > page ...
> You're right; an alternative is to copy the dirty bitmap to a local one
> and clear the global one (the dirty bitmap for an 8 MB full HD frame
> buffer is just 256 bytes). With the right API to abstract the job, it
> should be relatively easy to fix all adapters.
Started looking into this. So I guess you are thinking about a variant
of memory_region_test_and_clear_dirty and/or
cpu_physical_memory_test_and_clear_dirty
which returns a bitmap instead of a bool? Plus some helper function
which use the returned bitmap to figure whenever a specific scanline has
been touched or not?
cheers,
Gerd
- Re: [Qemu-ppc] qemu-system-ppc video artifacts since "tcg: drop global lock during TCG code execution", (continued)
- Re: [Qemu-ppc] qemu-system-ppc video artifacts since "tcg: drop global lock during TCG code execution", BALATON Zoltan, 2017/03/14
- Re: [Qemu-ppc] qemu-system-ppc video artifacts since "tcg: drop global lock during TCG code execution", luigi burdo, 2017/03/14
- Re: [Qemu-ppc] qemu-system-ppc video artifacts since "tcg: drop global lock during TCG code execution", Alex Bennée, 2017/03/15
- Re: [Qemu-ppc] [Qemu-devel] qemu-system-ppc video artifacts since "tcg: drop global lock during TCG code execution", Mark Cave-Ayland, 2017/03/15
- Re: [Qemu-ppc] [Qemu-devel] qemu-system-ppc video artifacts since "tcg: drop global lock during TCG code execution", Alex Bennée, 2017/03/15
- Re: [Qemu-ppc] [Qemu-devel] qemu-system-ppc video artifacts since "tcg: drop global lock during TCG code execution", Paolo Bonzini, 2017/03/16
- Re: [Qemu-ppc] [Qemu-devel] qemu-system-ppc video artifacts since "tcg: drop global lock during TCG code execution", Alex Bennée, 2017/03/16
- Re: [Qemu-ppc] [Qemu-devel] qemu-system-ppc video artifacts since "tcg: drop global lock during TCG code execution", Paolo Bonzini, 2017/03/16
- Re: [Qemu-ppc] [Qemu-devel] qemu-system-ppc video artifacts since "tcg: drop global lock during TCG code execution", Gerd Hoffmann, 2017/03/16
- Re: [Qemu-ppc] [Qemu-devel] qemu-system-ppc video artifacts since "tcg: drop global lock during TCG code execution", Paolo Bonzini, 2017/03/16
- Re: [Qemu-ppc] [Qemu-devel] qemu-system-ppc video artifacts since "tcg: drop global lock during TCG code execution",
Gerd Hoffmann <=
- Re: [Qemu-ppc] [Qemu-devel] qemu-system-ppc video artifacts since "tcg: drop global lock during TCG code execution", Paolo Bonzini, 2017/03/28
- Re: [Qemu-ppc] qemu-system-ppc video artifacts since "tcg: drop global lock during TCG code execution", Alex Bennée, 2017/03/15
- Re: [Qemu-ppc] qemu-system-ppc video artifacts since "tcg: drop global lock during TCG code execution", Gerd Hoffmann, 2017/03/15
- Re: [Qemu-ppc] qemu-system-ppc video artifacts since "tcg: drop global lock during TCG code execution", Alex Bennée, 2017/03/15
- Re: [Qemu-ppc] qemu-system-ppc video artifacts since "tcg: drop global lock during TCG code execution", Gerd Hoffmann, 2017/03/16
- Re: [Qemu-ppc] qemu-system-ppc video artifacts since "tcg: drop global lock during TCG code execution", Alex Bennée, 2017/03/16
- Re: [Qemu-ppc] [Qemu-devel] qemu-system-ppc video artifacts since "tcg: drop global lock during TCG code execution", Paolo Bonzini, 2017/03/16