]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
denc: only shallow_copy large-enough chunk for decoding
authorKefu Chai <kchai@redhat.com>
Tue, 27 Nov 2018 04:08:28 +0000 (12:08 +0800)
committerKefu Chai <kchai@redhat.com>
Tue, 27 Nov 2018 16:33:53 +0000 (00:33 +0800)
commit8a0bf61c5a9d2c71399a6facb8d2da428abf2070
tree9ad59c1c3aa06dd482a90de5dfaeb4b24ef659c0
parent8b2b83867ec049e3b8c0840d44286d38993779ee
denc: only shallow_copy large-enough chunk for decoding

if the bl being decoded is not continous, shallow_copy() will do deep
copy under the hood. this introduces internal fragmentation when
decoding small objects in large non-contiguous bufferlist.

to alleviate this problem, we try to copy less if the object being
decoded is bounded.

Signed-off-by: Kefu Chai <kchai@redhat.com>
src/include/denc.h
src/include/interval_set.h