From: Avi Kivity <avi@redhat.com>
To: Corentin Chary <corentin.chary@gmail.com>
Cc: Anthony Liguori <aliguori@linux.vnet.ibm.com>,
Alexander Graf <agraf@suse.de>,
Qemu-development List <qemu-devel@nongnu.org>,
Gautham R Shenoy <ego@in.ibm.com>
Subject: Re: [Qemu-devel] [PATCH v2 2/2] vnc: threaded VNC server
Date: Sun, 06 Jun 2010 17:53:35 +0300 [thread overview]
Message-ID: <4C0BB66F.8080005@redhat.com> (raw)
In-Reply-To: <AANLkTim1yZSzLWLFm0J-CWijGjzkFhNy_LLObEnB8xr4@mail.gmail.com>
On 06/06/2010 05:48 PM, Corentin Chary wrote:
> On Sun, Jun 6, 2010 at 4:11 PM, Avi Kivity<avi@redhat.com> wrote:
>
>> On 06/04/2010 04:20 PM, Corentin Chary wrote:
>>
>>> + if (vnc_trylock_display(vd)) {
>>> + vd->timer_interval = VNC_REFRESH_INTERVAL_BASE;
>>> + qemu_mod_timer(vd->timer, qemu_get_clock(rt_clock) +
>>> + vd->timer_interval);
>>> + return;
>>> + }
>>> +
>>> has_dirty = vnc_refresh_server_surface(vd);
>>> + vnc_unlock_display(vd);
>>>
>>>
>> This could delay the update by quite a bit, no?
>>
> Yep, but it's far better than waiting the lock because it doesn't slow
> down the main thread.
> I played big buck bunny trailler (33sec) in mplayer and tight encoding:
> - ~40 sec with the non-threaded server
> - ~37 sec with a lock
> - ~33 sec with a try_lock
>
Definitely, blocking the main thread is a no-no.
>> A more elaborate approach would be to enqueue the refresh job into the
>> queue. May need the iothread enabled so we have qemu_mutex.
>>
> Maybe, but I'd like to wait the generic async work subsystem before
> adding different kind of jobs to the queue. And it's already a big
> improvment over the current code :).
>
Hm, ok.
>> btw, I could not find other uses of vd->mutex, shouldn't it protect against
>> the work thread?
>>
> Check vnc-jobs.c, there is a qemu_mutex_lock(vs->vd->mutex);
>
>
Shouldn't it use vnc_lock_display()? That's why I missed it.
--
error compiling committee.c: too many arguments to function
next prev parent reply other threads:[~2010-06-06 14:53 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
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 [this message]
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=4C0BB66F.8080005@redhat.com \
--to=avi@redhat.com \
--cc=agraf@suse.de \
--cc=aliguori@linux.vnet.ibm.com \
--cc=corentin.chary@gmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.