Crush Map compactness

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

 



Hello, all.

I suggest couple of improvements to CrushWrapper.

Mostly safe change is replace std::map with btree::btree_map.
It is straightforward change and it looks to be safe.

More complicated change is replacing std::string with custom allocated strings:
- use custom allocator binded to CrushWrapper, - just a bump allocator
with from list of blobs,
- custom strings, used in CrushWrapper's maps are allocated from this
allocator and never freed in one-by-one manner
- custom data-structure for maps to be able to search by std::string
(or tuned btree::btree_map)
- for CrushWrapper's api results, newly allocated std::string are
returned (with C++11 this is already a case, cause reference counting
is forbidden)
- whole allocator with its blobs is freed together with CrushWrapper.
This approach is workable if and only if CrushWrapper is not changed
after construction.
I'm not too confident with Ceph sources to be sure about this property.

Is CrushWrapper "immutable" after it is fully constructed?

If so, I will try to implement this approach.

With regards,
Sokolov Yura aka funny_falcon
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux