On Tue, Oct 12, 2010 at 10:22 AM, Andrew Stitcher <astitc...@redhat.com> wrote:
> For those interested in the Rdma implementation:
>
> I've been doing a lot of stability work, stressing the rdma code in odd
> corner cases (unexpected disconnects mostly). While on this trail I
> reailised I could simplify the Rdma::AsynchIO state machine drastically
> by ensuring that all callbacks generated by this layer happen in the
> "thread context" of the connection.

Thanks for the heads up.  I'm taking a quick look at the diffs.  By
"thread context of the connection", do you mean always having these
callbacks happen from the poller threads?

Can you give some hints on how this simplified things?

>
> After an iteration to improve the performance which added a simple
> version of the state machine back, we have a version that has very
> similar throughput, but a little better latency as measured by me on my
> development boxes.

What sort of latency improvement are you seeing?

> I like this new code much better, but then I wrote it, so take a look
> and see what you think, constructive comments welcome.
>
> Most relevant files:
> qpid/cpp/src/qpid/sys/rdma/RdmaIO.h
> qpid/cpp/src/qpid/sys/rdma/RdmaIO.cpp
>
> Andrew

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org

Reply via email to