Potentially stupid question... if there exists a buffer container that can work in the new data path _without reference counting_, why not create a bufferlist super class that doesn't do reference counting? On Thu, Nov 29, 2018 at 1:46 PM Casey Bodley <cbodley@xxxxxxxxxx> wrote: > > Bufferlist is a common theme in Mark's weekly performance meetings, and > today's was no exception. Radoslaw highlighted the cost of atomic ref > counting associated with sharing buffers, and there was broad agreement > that the seastar osd's data path should avoid using bufferlist entirely > for that reason. > > However, one choice that I made in the design of the seastar messenger > was to use Ceph's existing bufferlist-based Message types so that their > encode/decode wouldn't diverge between the seastar osd and its librados > clients and peers like ceph-mon/mgr. > > In order to create a bufferlist-free data path, we'll need to find some > abstraction that allows Message types to define a serialization format > that can work both for bufferlist and for seastar's native buffer types > - whether that covers all Message types, or just some subset of > important ones like MOSDOp/Reply. > > Any thoughts on what this could look like? > > Casey >