Hi, Here is a patch series to improve the vnc buffer handling. It picks up the qio_buffer patches from Daniel, adds move calls (move data from one buffer to another) and tracing, makes vnc use the new features. Net effect should be that (a) vnc copies less data around and (b) buffers don't grow forever.
It's RfC because it depends on wip patches. My plan is to wait for Daniels patch series to be merged (which should obsolete patches #1+#2), then rebase and repost the series. Patches are also available from git: git://git.kraxel.org/qemu rebase/ui-vnc-next please test & review, Gerd Daniel P. Berrange (1): io: pull Buffer code out of VNC module Gerd Hoffmann (8): io/ makefile fluff io: add qio_buffer_init io: add qio_buffer_move_empty io: add qio_buffer_move io: add qio_buffer tracing name vnc buffers vnc: kill jobs queue buffer vnc-jobs: move buffer reset, use new buffer move Peter Lieven (1): vnc: make the Buffer capacity increase in powers of two Makefile | 2 + Makefile.objs | 5 ++ Makefile.target | 2 + include/io/buffer.h | 150 ++++++++++++++++++++++++++++++++++++++++++++++++++++ io/Makefile.objs | 1 + io/buffer.c | 119 +++++++++++++++++++++++++++++++++++++++++ trace-events | 6 +++ ui/vnc-auth-sasl.c | 4 +- ui/vnc-enc-tight.c | 38 ++++++------- ui/vnc-enc-zlib.c | 6 +-- ui/vnc-enc-zrle.c | 18 +++---- ui/vnc-jobs.c | 16 ++---- ui/vnc-ws.c | 36 ++++++------- ui/vnc-ws.h | 6 +-- ui/vnc.c | 83 ++++++++++------------------- ui/vnc.h | 50 +++++++----------- 16 files changed, 389 insertions(+), 153 deletions(-) create mode 100644 include/io/buffer.h create mode 100644 io/Makefile.objs create mode 100644 io/buffer.c -- 1.8.3.1