On 12/13/2017 11:34 AM, 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 shared a branch a while ago that started on such a messenger. I didn't get very far in testing interop with existing Messengers, but the shape is there and it includes a unit test that can echo a message between two endpoints. See https://github.com/cbodley/ceph/tree/wip-seastar-msg/src/crimson/
Another thought that is somewhat trivial but probably necessary and smallish is the log/ framework. This might be a good test case for the legacy <-> seastar communications infrastructure. It's all one-way, which simplifies things a bit, and the implementation should be pretty straightforward? I know we can't rely on the current debug stuff for tracing/instrumentation, but I don't think teh need for a debug log is going to go away. Another question is how the logger/perfcounters will need to change in a seastar world.
Yeah, there's a lot in CephContext that will need work. Agreed that the logging would be a good start, but the locking in md_config_t will be problematic too.
Casey -- 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