[Spice-devel] [PATCH spice v0.12.6] Flush display commands before validating the surface.
Frediano Ziglio
fziglio at redhat.com
Tue Dec 15 10:11:49 PST 2015
>
> On 12/14/2015 07:42 AM, Frediano Ziglio wrote:
> >>
> >> On Tue, Dec 08, 2015 at 09:11:08AM -0600, Jeremy White wrote:
> >>> This fixes a display glitch in xspice which is caused when
> >>> a surface create is queued, but then a direct call to update
> >>> the area is issued. Unless we flush the queue, the surface
> >>> does not exist, and we fail.
> >>
> >> This also matches what handle_dev_update_async() is doing (flush, call
> >> VALIDATE_SURFACE_RET()).
> >>
> >> Acked-by: Christophe Fergeau <cfergeau at redhat.com>
> >>
> >> I'll push this once a 0.12 branch exists.
> >>
> >> Christophe
> >>
> >
> > I would ack too, the patch is not harmful
> >
> > However: Is this patch fixing a bug on spice-server or is just a workaround
> > of a bug of xspice?
> >
> > I personally think the second. If you issue an asynchronous command you
> > should
> > not try to issue another synchronous command depending on the first one but
> > you first should wait for first command finish and then issue the second.
> > Unless these commands are all defined to go into a single queue to they are
> > all serialized together.
>
>
> That's an interesting point.
>
> Researching further, I think the fundamental issue is that Xspice is a
> bit of a hybrid. That is, this works for the regular qxl driver because
> both the surface creation and the update area go through the command
> ring. But in Xspice, some things go through the ring, and others are
> done as direct calls.
>
> To me, the logical next step would be to modify the Spice API to allow
> Xspice to do everything directly. That would be faster and make for a
> much cleaner interface (not to mention a more sensible use of memory).
>
What do you have in mind?
> And there isn't any Xspice mechanism to wait for command completion,
> that I could find. That is, I didn't see a way to make the surface
> creation into a sync operation, and I'm hesitant to take the performance
> hit in making the update_area go through the ring.
>
I also noted that some drivers use some kind of polling too.
> So I'd continue to advocate for this patch. I'm hoping that after all
> this refactoring, it will be easier for me to propose the changes that
> Xspice would need to be more sensible.
>
> Cheers,
>
> Jeremy
>
I'm not against the patch.
Frediano
More information about the Spice-devel
mailing list