Hi, This series has a bunch of improvements in the vnc buffer handling, to reduce the memory footprint. Some of the changes are applied to the buffer helper functions which Daniel separated out of the vnc code recently.
Most patches have been on the list before, based on a older version of Daniel's "separate out buffer code" patches. Now I finally managed to rebase and adapt the changes to the latest version which landed in master meanwhile. I don't expect major issues showing up here and plan to have a pull request with this in time for 2.5-rc0. Peter, if you have anything pending not yet in here please rebase and resend. please review, Gerd Gerd Hoffmann (14): buffer: add buffer_init buffer: add buffer_move_empty buffer: add buffer_move buffer: add buffer_shrink buffer: add tracing vnc: attach names to buffers vnc: kill jobs queue buffer vnc-jobs: move buffer reset, use new buffer move vnc: zap dead code vnc: add vnc_width+vnc_height helpers vnc: factor out vnc_update_server_surface vnc: use vnc_{width,height} in vnc_set_area_dirty vnc: only alloc server surface with clients connected vnc: fix local state init Peter Lieven (5): buffer: make the Buffer capacity increase in powers of two vnc: recycle empty vs->output buffer buffer: factor out buffer_req_size buffer: factor out buffer_adj_size buffer: allow a buffer to shrink gracefully include/qemu/buffer.h | 43 ++++++++++++++++++++ trace-events | 6 +++ ui/vnc-jobs.c | 34 +++++++++------- ui/vnc.c | 92 ++++++++++++++++++++++++++++++++----------- util/buffer.c | 107 +++++++++++++++++++++++++++++++++++++++++++++++++- 5 files changed, 243 insertions(+), 39 deletions(-) -- 1.8.3.1