Hi James, On Fri, 2 Jun 2017, LIU, Fei wrote: > Hi Sage, > Here is the slides that I mentioned in morning conference call regarding to async transaction implementation in the backend blustore > > https://www.slideshare.net/jupiturliu/async-queuetransaction > > We will modify the PR accordingly with your advice last time. This is the PR, right? https://github.com/ceph/ceph/pull/15141 I don't remember exactly what I said before :), but I think the more promising path forward is not to introduce a context switch but instead to find a way to drop PG::lock once the operation is serialized on the sequencer, or to have a second PG lock just for submitting the transaction. E.g., pg->submit_lock.Lock(); pg->unlock(); store->submit_transaction(...); pg->submit_lock.Unlock(); This will require a careful look at what is happening inside PG after PG::lock is dropped, though. It probably makes sense to look at this in conjuction with something like https://github.com/ceph/ceph/pull/11188 which never got finished (and has now gone very stale)... sage -- 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