]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: optimize intrusive sets for size. 11319/head
authorMark Nelson <mnelson@redhat.com>
Tue, 4 Oct 2016 20:04:36 +0000 (15:04 -0500)
committerMark Nelson <mnelson@redhat.com>
Tue, 4 Oct 2016 20:04:36 +0000 (15:04 -0500)
Signed-off-by: Mark Nelson <mnelson@redhat.com>
src/os/bluestore/BlueStore.h

index 7266dc423fbd8876cd7c3074abebbec7874ad2a5..ef2ef53fd8932b0f0ff43f6248bd4f0c0615c19b 100644 (file)
@@ -405,7 +405,7 @@ public:
   };
 
   /// in-memory blob metadata and associated cached buffers (if any)
-  struct Blob : public boost::intrusive::set_base_hook<> {
+  struct Blob : public boost::intrusive::set_base_hook<boost::intrusive::optimize_size<true>> {
     std::atomic_int nref = {0};     ///< reference count
     int id = -1;                    ///< id, for spanning blobs only, >= 0
     SharedBlobRef shared_blob;      ///< shared blob state (if any)
@@ -514,7 +514,7 @@ public:
   typedef boost::intrusive::set<Blob> blob_map_t;
 
   /// a logical extent, pointing to (some portion of) a blob
-  struct Extent : public boost::intrusive::set_base_hook<> {
+  struct Extent : public boost::intrusive::set_base_hook<boost::intrusive::optimize_size<true>> {
     uint32_t logical_offset = 0;      ///< logical offset
     uint32_t blob_offset = 0;         ///< blob offset
     uint32_t length = 0;              ///< length