]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
os: Transaction uses append_hole() to minimize bl:_buffers inflation. 24459/head
authorRadoslaw Zarzynski <rzarzyns@redhat.com>
Sun, 7 Oct 2018 21:56:17 +0000 (23:56 +0200)
committerRadoslaw Zarzynski <rzarzyns@redhat.com>
Wed, 31 Oct 2018 22:50:10 +0000 (23:50 +0100)
commitbf679293647f960a538444f63e54812963ace8d8
treec1f9504e024812239cf236bc4c867dd9b05ceae3
parent1b57df1d514588b1c8232fe0c348b21fcc90c4ee
os: Transaction uses append_hole() to minimize bl:_buffers inflation.

This could be useful as the used `::append(const ptr&)` variant does
not provide any measures (like coalescing adjacent bptrs) to prevent
inflation of the internal structures of a bufferlist. That is, each
call was reflected in dynamic node allocation for the `_buffers` list.
Secondary effect of this behavior is increased iteration cost driven
by large number of elements likely scattered over memory.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
src/include/buffer.h
src/os/ObjectStore.h