qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 5c10db: buffer: make the Buffer capacity incr


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 5c10db: buffer: make the Buffer capacity increase in power...
Date: Tue, 17 Nov 2015 09:00:08 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 5c10dbb7b577370e86ff459973b06d530c3777cf
      
https://github.com/qemu/qemu/commit/5c10dbb7b577370e86ff459973b06d530c3777cf
  Author: Peter Lieven <address@hidden>
  Date:   2015-11-05 (Thu, 05 Nov 2015)

  Changed paths:
    M util/buffer.c

  Log Message:
  -----------
  buffer: make the Buffer capacity increase in powers of two

This makes sure the number of reallocs is in O(log N).

Signed-off-by: Peter Lieven <address@hidden>
Reviewed-by: Daniel P. Berrange <address@hidden>
Signed-off-by: Gerd Hoffmann <address@hidden>
Message-id: address@hidden

[ rebased to util/buffer.c ]

Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: 810082d15c244b8b29470d3bb1c6b11fc9a40c25
      
https://github.com/qemu/qemu/commit/810082d15c244b8b29470d3bb1c6b11fc9a40c25
  Author: Gerd Hoffmann <address@hidden>
  Date:   2015-11-05 (Thu, 05 Nov 2015)

  Changed paths:
    M include/qemu/buffer.h
    M util/buffer.c

  Log Message:
  -----------
  buffer: add buffer_init

Signed-off-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Peter Lieven <address@hidden>
Reviewed-by: Daniel P. Berrange <address@hidden>
Message-id: address@hidden


  Commit: 4d1eb5fdb141c9100eb82e1dc7d4547fb1decd8b
      
https://github.com/qemu/qemu/commit/4d1eb5fdb141c9100eb82e1dc7d4547fb1decd8b
  Author: Gerd Hoffmann <address@hidden>
  Date:   2015-11-05 (Thu, 05 Nov 2015)

  Changed paths:
    M include/qemu/buffer.h
    M util/buffer.c

  Log Message:
  -----------
  buffer: add buffer_move_empty

Signed-off-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Peter Lieven <address@hidden>
Reviewed-by: Daniel Berrange <address@hidden>
Message-id: address@hidden


  Commit: 830a9583206a051c240b74c3f688a015dc5d2967
      
https://github.com/qemu/qemu/commit/830a9583206a051c240b74c3f688a015dc5d2967
  Author: Gerd Hoffmann <address@hidden>
  Date:   2015-11-05 (Thu, 05 Nov 2015)

  Changed paths:
    M include/qemu/buffer.h
    M util/buffer.c

  Log Message:
  -----------
  buffer: add buffer_move

Signed-off-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Peter Lieven <address@hidden>
Reviewed-by: Daniel P. Berrange <address@hidden>
Message-id: address@hidden


  Commit: 1ff36b5d4d00a4e3633eb960bf2be562f5e47dbf
      
https://github.com/qemu/qemu/commit/1ff36b5d4d00a4e3633eb960bf2be562f5e47dbf
  Author: Gerd Hoffmann <address@hidden>
  Date:   2015-11-05 (Thu, 05 Nov 2015)

  Changed paths:
    M include/qemu/buffer.h
    M util/buffer.c

  Log Message:
  -----------
  buffer: add buffer_shrink

Signed-off-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Peter Lieven <address@hidden>
Reviewed-by: Daniel P. Berrange <address@hidden>
Message-id: address@hidden


  Commit: d2b90718d25ed6dc8a2bb7f06504e6500dcc7bae
      
https://github.com/qemu/qemu/commit/d2b90718d25ed6dc8a2bb7f06504e6500dcc7bae
  Author: Gerd Hoffmann <address@hidden>
  Date:   2015-11-05 (Thu, 05 Nov 2015)

  Changed paths:
    M trace-events
    M util/buffer.c

  Log Message:
  -----------
  buffer: add tracing

Signed-off-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Peter Lieven <address@hidden>
Reviewed-by: Daniel P. Berrange <address@hidden>
Message-id: address@hidden


  Commit: 543b95801f98ab2cb7413c39779fd5b7f363ce3d
      
https://github.com/qemu/qemu/commit/543b95801f98ab2cb7413c39779fd5b7f363ce3d
  Author: Gerd Hoffmann <address@hidden>
  Date:   2015-11-05 (Thu, 05 Nov 2015)

  Changed paths:
    M ui/vnc-jobs.c
    M ui/vnc.c

  Log Message:
  -----------
  vnc: attach names to buffers

Signed-off-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Peter Lieven <address@hidden>
Reviewed-by: Daniel P. Berrange <address@hidden>
Message-id: address@hidden


  Commit: 8305f917c1bc86b1ead0fa9197b5443a4bd611f3
      
https://github.com/qemu/qemu/commit/8305f917c1bc86b1ead0fa9197b5443a4bd611f3
  Author: Gerd Hoffmann <address@hidden>
  Date:   2015-11-05 (Thu, 05 Nov 2015)

  Changed paths:
    M ui/vnc-jobs.c

  Log Message:
  -----------
  vnc: kill jobs queue buffer

Signed-off-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Peter Lieven <address@hidden>
Reviewed-by: Daniel P. Berrange <address@hidden>
Message-id: address@hidden


  Commit: d90340115a3569caa72063775ff927f4dc353551
      
https://github.com/qemu/qemu/commit/d90340115a3569caa72063775ff927f4dc353551
  Author: Gerd Hoffmann <address@hidden>
  Date:   2015-11-05 (Thu, 05 Nov 2015)

  Changed paths:
    M ui/vnc-jobs.c

  Log Message:
  -----------
  vnc-jobs: move buffer reset, use new buffer move

Signed-off-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Peter Lieven <address@hidden>
Reviewed-by: Daniel P. Berrange <address@hidden>
Message-id: address@hidden


  Commit: e081aae5ae01f5ff695ba9fee4e622053d8e4bfe
      
https://github.com/qemu/qemu/commit/e081aae5ae01f5ff695ba9fee4e622053d8e4bfe
  Author: Gerd Hoffmann <address@hidden>
  Date:   2015-11-05 (Thu, 05 Nov 2015)

  Changed paths:
    M ui/vnc.c

  Log Message:
  -----------
  vnc: zap dead code

Signed-off-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Peter Lieven <address@hidden>
Reviewed-by: Daniel P. Berrange <address@hidden>
Message-id: address@hidden


  Commit: d05959c2e111858bb83c40ae5d8b8c10964b7bb0
      
https://github.com/qemu/qemu/commit/d05959c2e111858bb83c40ae5d8b8c10964b7bb0
  Author: Gerd Hoffmann <address@hidden>
  Date:   2015-11-05 (Thu, 05 Nov 2015)

  Changed paths:
    M ui/vnc.c

  Log Message:
  -----------
  vnc: add vnc_width+vnc_height helpers

Signed-off-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Peter Lieven <address@hidden>
Reviewed-by: Daniel P. Berrange <address@hidden>
Message-id: address@hidden


  Commit: 453f842bc4cab49f10c267cff9ad3cf657265d49
      
https://github.com/qemu/qemu/commit/453f842bc4cab49f10c267cff9ad3cf657265d49
  Author: Gerd Hoffmann <address@hidden>
  Date:   2015-11-05 (Thu, 05 Nov 2015)

  Changed paths:
    M ui/vnc.c

  Log Message:
  -----------
  vnc: factor out vnc_update_server_surface

Signed-off-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Peter Lieven <address@hidden>
Reviewed-by: Daniel P. Berrange <address@hidden>
Message-id: address@hidden


  Commit: f7b3d68c95bc4f8915a3d084360aa07c7f4e4717
      
https://github.com/qemu/qemu/commit/f7b3d68c95bc4f8915a3d084360aa07c7f4e4717
  Author: Gerd Hoffmann <address@hidden>
  Date:   2015-11-05 (Thu, 05 Nov 2015)

  Changed paths:
    M ui/vnc.c

  Log Message:
  -----------
  vnc: use vnc_{width,height} in vnc_set_area_dirty

Signed-off-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Peter Lieven <address@hidden>
Reviewed-by: Daniel P. Berrange <address@hidden>
Message-id: address@hidden


  Commit: c7628bff4138ce906a3620d12e0820c1cf6c140d
      
https://github.com/qemu/qemu/commit/c7628bff4138ce906a3620d12e0820c1cf6c140d
  Author: Gerd Hoffmann <address@hidden>
  Date:   2015-11-05 (Thu, 05 Nov 2015)

  Changed paths:
    M ui/vnc.c

  Log Message:
  -----------
  vnc: only alloc server surface with clients connected

Signed-off-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Peter Lieven <address@hidden>
Reviewed-by: Daniel P. Berrange <address@hidden>
Message-id: address@hidden


  Commit: 2e0c90af0a33451498d333d72c06e5429c7cd168
      
https://github.com/qemu/qemu/commit/2e0c90af0a33451498d333d72c06e5429c7cd168
  Author: Gerd Hoffmann <address@hidden>
  Date:   2015-11-05 (Thu, 05 Nov 2015)

  Changed paths:
    M ui/vnc-jobs.c

  Log Message:
  -----------
  vnc: fix local state init

Signed-off-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Peter Lieven <address@hidden>
Reviewed-by: Daniel P. Berrange <address@hidden>
Message-id: address@hidden


  Commit: c3d6899c5e67dfd7ff195eccc10541f3b7e141a7
      
https://github.com/qemu/qemu/commit/c3d6899c5e67dfd7ff195eccc10541f3b7e141a7
  Author: Peter Lieven <address@hidden>
  Date:   2015-11-05 (Thu, 05 Nov 2015)

  Changed paths:
    M ui/vnc-jobs.c

  Log Message:
  -----------
  vnc: recycle empty vs->output buffer

If the vs->output buffer is empty it will be dropped
by the next qio_buffer_move_empty in vnc_jobs_consume_buffer
anyway. So reuse the allocated buffer from this buffer
in the worker thread where we otherwise would start with
an empty (unallocated buffer).

Signed-off-by: Peter Lieven <address@hidden>
Reviewed-by: Daniel P. Berrange <address@hidden>
Message-id: address@hidden

[ added a comment describing the non-obvious optimization ]

Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: fd95243372f7657c2d24aed269e3be01bed1b87c
      
https://github.com/qemu/qemu/commit/fd95243372f7657c2d24aed269e3be01bed1b87c
  Author: Peter Lieven <address@hidden>
  Date:   2015-11-05 (Thu, 05 Nov 2015)

  Changed paths:
    M util/buffer.c

  Log Message:
  -----------
  buffer: factor out buffer_req_size

Signed-off-by: Peter Lieven <address@hidden>
Signed-off-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Daniel P. Berrange <address@hidden>
Message-id: address@hidden


  Commit: 4ec5ba151ff3f2ac8dc44dabd058eca5846654a6
      
https://github.com/qemu/qemu/commit/4ec5ba151ff3f2ac8dc44dabd058eca5846654a6
  Author: Peter Lieven <address@hidden>
  Date:   2015-11-05 (Thu, 05 Nov 2015)

  Changed paths:
    M util/buffer.c

  Log Message:
  -----------
  buffer: factor out buffer_adj_size

Signed-off-by: Peter Lieven <address@hidden>
Signed-off-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Daniel P. Berrange <address@hidden>
Message-id: address@hidden


  Commit: f14c3d85b003d8614144ae67a26157667c1e1245
      
https://github.com/qemu/qemu/commit/f14c3d85b003d8614144ae67a26157667c1e1245
  Author: Peter Lieven <address@hidden>
  Date:   2015-11-05 (Thu, 05 Nov 2015)

  Changed paths:
    M include/qemu/buffer.h
    M util/buffer.c

  Log Message:
  -----------
  buffer: allow a buffer to shrink gracefully

the idea behind this patch is to allow the buffer to shrink, but
make this a seldom operation. The buffers average size is measured
exponentionally smoothed with am alpha of 1/128.

Signed-off-by: Peter Lieven <address@hidden>
Signed-off-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Daniel P. Berrange <address@hidden>
Message-id: address@hidden


  Commit: 382e1737d3467b76e8ade34b96afaae91509002e
      
https://github.com/qemu/qemu/commit/382e1737d3467b76e8ade34b96afaae91509002e
  Author: Gerd Hoffmann <address@hidden>
  Date:   2015-11-05 (Thu, 05 Nov 2015)

  Changed paths:
    M ui/vnc.c

  Log Message:
  -----------
  vnc: fix mismerge

Commit "4d77b1f vnc: fix bug: vnc server can't start when 'to' is
specified" was rebased incorrectly, fix it.

Reported-by: Markus Armbruster <address@hidden>
Signed-off-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Reviewed-by: Yang Hongyang <address@hidden>
Message-id: address@hidden


  Commit: c27e9014d56fa4880e7d741275d887c3a5949997
      
https://github.com/qemu/qemu/commit/c27e9014d56fa4880e7d741275d887c3a5949997
  Author: Peter Maydell <address@hidden>
  Date:   2015-11-17 (Tue, 17 Nov 2015)

  Changed paths:
    M include/qemu/buffer.h
    M trace-events
    M ui/vnc-jobs.c
    M ui/vnc.c
    M util/buffer.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/kraxel/tags/pull-vnc-20151116-1' into 
staging

vnc: buffer code improvements, bugfixes.

# gpg: Signature made Mon 16 Nov 2015 17:20:02 GMT using RSA key ID D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <address@hidden>"
# gpg:                 aka "Gerd Hoffmann <address@hidden>"
# gpg:                 aka "Gerd Hoffmann (private) <address@hidden>"

* remotes/kraxel/tags/pull-vnc-20151116-1:
  vnc: fix mismerge
  buffer: allow a buffer to shrink gracefully
  buffer: factor out buffer_adj_size
  buffer: factor out buffer_req_size
  vnc: recycle empty vs->output buffer
  vnc: fix local state init
  vnc: only alloc server surface with clients connected
  vnc: use vnc_{width,height} in vnc_set_area_dirty
  vnc: factor out vnc_update_server_surface
  vnc: add vnc_width+vnc_height helpers
  vnc: zap dead code
  vnc-jobs: move buffer reset, use new buffer move
  vnc: kill jobs queue buffer
  vnc: attach names to buffers
  buffer: add tracing
  buffer: add buffer_shrink
  buffer: add buffer_move
  buffer: add buffer_move_empty
  buffer: add buffer_init
  buffer: make the Buffer capacity increase in powers of two

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/9be060f5278d...c27e9014d56f

reply via email to

[Prev in Thread] Current Thread [Next in Thread]