winverbs: process connect and accept asynchronously
authorshefty <shefty@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Tue, 9 Jun 2009 16:40:24 +0000 (16:40 +0000)
committershefty <shefty@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Tue, 9 Jun 2009 16:40:24 +0000 (16:40 +0000)
commit2403ab5da2a480fcde3188aa296fa744a4c51215
tree9ee319acd7f49de5f269df5e4f1376b2417f8de2
parent7a983b0a900362b131c303238aa479eb5f3c29a7
winverbs: process connect and accept asynchronously

Allow processing of EP:Connect and EP:Accept calls asynchronously.  The
librdmacm uses events to report the completion of rdma_connect and
rdma_accept calls, which allows users of that interface to take advantage
of asynchronous operation.  Modify the winverbs kernel driver to
queue connect/accept calls to a system thread for better parallelism.

This improves the measured connection rate of rdma_cmatose by 3%.  The
connection rate includes address resolution, route resolution, PD/CQ/QP
creation and state transitions, memory registration, posting of receive
buffers, and CM message exchanges.  This patch effectively only improves
the parallelism of modify QP.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2240 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
core/winverbs/kernel/wv_ep.c