From: Peter Lieven <pl@kamp.de>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 2/4] vnc: allow the Buffer to shrink again
Date: Thu, 3 Sep 2015 16:52:55 +0200 [thread overview]
Message-ID: <55E85EC7.70906@kamp.de> (raw)
In-Reply-To: <1441281131.557.56.camel@redhat.com>
Am 03.09.2015 um 13:52 schrieb Gerd Hoffmann:
> Hi,
>
>>> Beside that I think it makes sense to have the shrinking logic in
>>> buffer_reserve too so we don't have to add buffer_shrink calls all over
>>> the place.
>> We need a possibility to shrink the buffer after it has been used.
>> Especially the queue->buffer.
> That works fine. Test patch attached.
Not completely. queue->buffer may remain big, if you disconnect in the
wrong moment. Maybe there should be a buffer_free if the last client
disconnects?
In general I like your modified patch because the shrinking is slower than
in my version. for 64*1024 you should introduce a macro.
>
> I'm not sure this is the way to go though. I see alot of growing and
> shrinking. We also do alot of coping (each realloc, but also from
> buffer to buffer).
>
> We might be better off redoing the whole buffer management, at least
> once we are done with encoding one frame. Passing on a *pointer* to the
> buffer, once sent to the wire just free the buffer. Allocate a new one
> for the next frame. That way we copy around less data and also don't
> have to worry about big unused buffers in the first place ...
Maybe this should be the permanent solution.
Peter
next prev parent reply other threads:[~2015-09-03 14:53 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-27 10:18 [Qemu-devel] [PATCH 0/4] VNC server memory savings Peter Lieven
2015-08-27 10:18 ` [Qemu-devel] [PATCH 1/4] vnc: make the Buffer capacity increase in powers of two Peter Lieven
2015-09-03 8:56 ` Gerd Hoffmann
2015-09-03 10:29 ` Peter Lieven
2015-09-03 10:47 ` Gerd Hoffmann
2015-08-27 10:18 ` [Qemu-devel] [PATCH 2/4] vnc: allow the Buffer to shrink again Peter Lieven
2015-08-27 10:39 ` Daniel P. Berrange
2015-08-27 12:36 ` Peter Lieven
2015-09-03 9:52 ` Gerd Hoffmann
2015-09-03 10:07 ` Peter Lieven
2015-09-03 11:52 ` Gerd Hoffmann
2015-09-03 14:52 ` Peter Lieven [this message]
2015-09-03 10:36 ` Peter Lieven
2015-09-03 11:57 ` Gerd Hoffmann
2015-09-03 12:00 ` Peter Lieven
2015-08-27 10:18 ` [Qemu-devel] [PATCH 3/4] vnc-jobs: move buffer_reset to vnc_async_encoding_end Peter Lieven
2015-08-27 10:18 ` [Qemu-devel] [PATCH 4/4] vnc: destroy server surface if no client is connected Peter Lieven
2015-09-03 9:57 ` Gerd Hoffmann
2015-09-03 10:08 ` Peter Lieven
2015-09-03 10:54 ` Gerd Hoffmann
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=55E85EC7.70906@kamp.de \
--to=pl@kamp.de \
--cc=kraxel@redhat.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.