On 01/15/2018 02:30 PM, Matt Benjamin wrote:
It's the buffer::raw class that abstracts foreign buffer representations now, is it now? A mechanism to allow seastar to single-allocate a composite buffer::raw and temporary_buffer<char> seems possible to imagine. Matt
Thanks Matt. I think that's effectively what I did with https://github.com/cbodley/ceph/commit/67ae06e488c50a6102c66d34b942ff207493ffd6. It allocates a buffer::raw subclass that stores temporary_buffer<char> as a member. The raw allocation here is the same one we'd see with any other buffer type, so I was mistaken in thinking of this as extra overhead. The allocation in the other direction is effectively seastar's version of this same abstraction. So I think these conversions are fine as they are.
I do still think there are wins in generalizing denc to avoid these conversions, but we'll have to explore whether it's worth the extra complexity.
-- 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