On 12/15/2017 11:01 AM, Gregory Farnum wrote:
On Wed, Dec 13, 2017 at 5:31 PM, Casey Bodley <cbodley@xxxxxxxxxx> wrote:
On 12/13/2017 11:42 AM, Ricardo Dias wrote:
On 13-12-2017 16:34, Sage Weil wrote:
We had a great chat yesterday with Avi Kivity @ Scylla about seastar in
ceph, and were talking about where to start... One candidate was to
carve
off the entire messenger and reimplement using seastar futures/promises.
I don't think it's a good idea to start with the messenger since we are
currently making a lot of changes to implement the new V2 protocol.
This seastar messenger would only be used by the seastar-osd. The existing
messengers will still be used by everything else, so your work there is
valuable and shouldn't be impacted by the seastar project. Whether a new
messenger would want to target this v2 protocol from the start (and ignore
backward compatibility with v1 messengers) is an open question.
I haven't dived into the code with an eye towards doing this (although
I think Josh is about to), but the existing AsyncMessenger is already
integrated with DPDK and relies on a state machine with thread pools
dispatching messages independently. I'm pretty sure we'll be adapting
that rather than writing another messenger from scratch. ;)
Cool. I haven't read through AsyncMessenger in-depth, so I wasn't sure
how much of it we could reuse. I think it's important to have separate
Messenger/Connection interfaces that expose futures to the application
though. And ideally we'd be able to call into dpdk from seastar threads
without requiring a separate thread pool.
Haomai, have you put any thought into how this could work?
--
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