[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: [PATCH v2 2/2] vnc: threaded VNC server
From: |
Alexander Graf |
Subject: |
[Qemu-devel] Re: [PATCH v2 2/2] vnc: threaded VNC server |
Date: |
Fri, 4 Jun 2010 15:25:51 +0200 |
On 04.06.2010, at 15:20, Corentin Chary wrote:
> Implement a threaded VNC server using the producer-consumer model.
> The main thread will push encoding jobs (a list a rectangles to update)
> in a queue, and the VNC worker thread will consume that queue and send
> framebuffer updates to the output buffer.
Hrm, does it merge the queue? So imagine the following gets put in the queue
[0,0] - [100,100]
[100,0] - [200,10]
[0,0] - [200,10]
Would that code try and merge those three queue entries? Because by adding the
queue, you basically get rid of the automatic merging we get from the lazy
dirty bitmap fetching.
Before we were processing each entry and checked the bitmap again, seeing a
merged bitmap of previous actions. With this I assume you push to-be-updated
regions into the queue and mark them as processed before they are? Or does the
processed marking still happen in the worker? Wouldn't that be racy? Hrm.
Alex
Re: [Qemu-devel] [PATCH v2 2/2] vnc: threaded VNC server, Avi Kivity, 2010/06/06