From: Corentin Chary <corentin.chary@gmail.com>
To: Alexander Graf <agraf@suse.de>
Cc: Anthony Liguori <aliguori@linux.vnet.ibm.com>,
Qemu-development List <qemu-devel@nongnu.org>,
Gautham R Shenoy <ego@in.ibm.com>
Subject: [Qemu-devel] Re: [PATCH v2 2/2] vnc: threaded VNC server
Date: Fri, 4 Jun 2010 15:53:47 +0200 [thread overview]
Message-ID: <AANLkTil7ug_02SQ7_q6blg7l8DwUpp7QOFoJNPskina9@mail.gmail.com> (raw)
In-Reply-To: <87B55367-1484-43AA-888F-9E62B061590D@suse.de>
On Fri, Jun 4, 2010 at 3:25 PM, Alexander Graf <agraf@suse.de> wrote:
>
> 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.
I wanted to add that later.
> 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?
I mark them as processed as soon as they are put into the queue.
refresh() is also delayed while encoding job are processing (check the
trylock part) to avoid unecessary dirty bitmap updates and locks.
--
Corentin Chary
http://xf.iksaif.net
next prev parent reply other threads:[~2010-06-04 13:54 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-04 13:20 [Qemu-devel] [PATCH v2 0/2] Threaded VNC server Corentin Chary
2010-06-04 13:20 ` [Qemu-devel] [PATCH v2 1/2] qemu-thread: add qemu_mutex/cond_destroy and qemu_mutex_exit Corentin Chary
2010-06-04 13:20 ` [Qemu-devel] [PATCH v2 2/2] vnc: threaded VNC server Corentin Chary
2010-06-04 13:25 ` [Qemu-devel] " Alexander Graf
2010-06-04 13:53 ` Corentin Chary [this message]
2010-06-04 13:44 ` Alexander Graf
2010-06-05 8:03 ` Corentin Chary
2010-06-06 13:54 ` Avi Kivity
2010-06-06 14:39 ` Corentin Chary
2010-06-07 13:36 ` Paolo Bonzini
2010-06-04 14:41 ` Paolo Bonzini
2010-06-04 14:55 ` Corentin Chary
2010-06-04 15:11 ` Paolo Bonzini
2010-06-06 14:11 ` [Qemu-devel] " Avi Kivity
2010-06-06 14:48 ` Corentin Chary
2010-06-06 14:53 ` Avi Kivity
2010-06-06 15:16 ` Corentin Chary
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=AANLkTil7ug_02SQ7_q6blg7l8DwUpp7QOFoJNPskina9@mail.gmail.com \
--to=corentin.chary@gmail.com \
--cc=agraf@suse.de \
--cc=aliguori@linux.vnet.ibm.com \
--cc=ego@in.ibm.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).