From: Sage Weil Date: Thu, 28 Sep 2017 12:02:50 +0000 (-0400) Subject: os/bluestore: move several buffer{ptr,list}s into cache_other mempool X-Git-Tag: v13.0.1~764^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F18001%2Fhead;p=ceph.git os/bluestore: move several buffer{ptr,list}s into cache_other mempool Signed-off-by: Sage Weil --- diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 4e7fc63dcdbd..852c6ba14e31 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -1995,6 +1995,7 @@ void BlueStore::ExtentMap::update(KeyValueDB::Transaction t, unsigned n; // we need to encode inline_bl to measure encoded length bool never_happen = encode_some(0, OBJECT_MAX_SIZE, inline_bl, &n); + inline_bl.reassign_to_mempool(mempool::mempool_bluestore_cache_other); assert(!never_happen); size_t len = inline_bl.length(); dout(20) << __func__ << " inline shard " << len << " bytes from " << n @@ -3259,6 +3260,8 @@ BlueStore::OnodeRef BlueStore::Collection::get_onode( if (on->onode.extent_map_shards.empty()) { denc(on->extent_map.inline_bl, p); on->extent_map.decode_some(on->extent_map.inline_bl); + on->extent_map.inline_bl.reassign_to_mempool( + mempool::mempool_bluestore_cache_other); } else { on->extent_map.init_shards(false, false); } diff --git a/src/os/bluestore/bluestore_types.h b/src/os/bluestore/bluestore_types.h index 8e2b77aeb4c4..267664d44a7a 100644 --- a/src/os/bluestore/bluestore_types.h +++ b/src/os/bluestore/bluestore_types.h @@ -558,6 +558,7 @@ public: int len; denc_varint(len, p); csum_data = p.get_ptr(len); + csum_data.reassign_to_mempool(mempool::mempool_bluestore_cache_other); } if (has_unused()) { denc(unused, p); @@ -823,6 +824,7 @@ public: csum_chunk_order = order; csum_data = buffer::create(get_csum_value_size() * len / get_csum_chunk_size()); csum_data.zero(); + csum_data.reassign_to_mempool(mempool::mempool_bluestore_cache_other); } /// calculate csum for the buffer at the given b_off