Stan Smith [Tue, 23 Feb 2010 23:03:33 +0000 (23:03 +0000)]
[WINOF] update with trunk commits for 2.2 release
2703 ibat/resolve: retry ibat resolution
2702 libibverbs: release wvprovider reference from ibvwv_acquire_windata
2701 dapl: locking cleanup and fixes
2689 libibverbs/device: destroy completion channel when closing device
2688 dapl: use private_data_len for mem copies
2687 dapl/cma: fix referencing freed address
2686 librdmacm: set private_data_len
2685 dapl: move close device after async thread is done using it
2683 [core] Improved error message.
2682 [core] Release the RDMA interface if ib_register_ca fails.
Stan Smith [Fri, 19 Feb 2010 18:13:20 +0000 (18:13 +0000)]
[IPoIB_ndis6_cm] migrate IPoIB shutter code into the trunk - match 2.2 release.
shutter code stops IPoIB from receiving packets during device shutdown.
Stan Smith [Fri, 19 Feb 2010 17:46:36 +0000 (17:46 +0000)]
[WINOF] delete orphaned files on uninstall
Added new CustomAction to wait for IPoIB device to appear in order to ensure ND & WSD provider install success.
Stan Smith [Fri, 19 Feb 2010 17:13:41 +0000 (17:13 +0000)]
[DAPL2] Cleanup CM object lock before freeing CM object memory
Running windows application verifiier for uDAPL validation
for all 3 providers. Cleanup memory lock leaks found
by verifier.
Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2706 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
Stan Smith [Fri, 19 Feb 2010 17:09:58 +0000 (17:09 +0000)]
[DAPL2] ucm, scm, cma: destroy verbs completion channels created via ia_open or ep_create.
Completion channels are created with ia_open for CNO events and with ep_create in cases where DAT allows EP(qp) to be created with no EVD(cq) and IB doesn't. These completion channels need to be destroyed at close along with a CQ for the "EP without EVD" case.
Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2705 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
Sean Hefty [Thu, 18 Feb 2010 21:51:19 +0000 (21:51 +0000)]
ibat/resolve: retry ibat resolution
Winverbs ND scale out testing showed that IBAT::Resolve() can
return E_PENDING, which requires that the resolution be retried.
A similar issue to this was seen when testing with the librdmacm.
Rather than duplicating retry logic in the winverbs ND provider,
add new functionality to ibat, with retry capability. To
avoid breaking the ibat.dll interface, extend the API with a
new call ResolvePath() that takes a timeout value.
ResolvePath() automatically retries Resolve() while the result
is E_PENDING, until the request times out. Modify the winverbs
ND provider to call ResolvePath(). Also update other places
where Resolve() is called in a loop: the librdmacm and wsd.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2703 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
Sean Hefty [Thu, 18 Feb 2010 21:49:14 +0000 (21:49 +0000)]
dapl: locking cleanup and fixes
Cleanup allocated completion channels. Destroy cm_ptr locks before freeing the cm_ptr to avoid memory leaks. And avoid accessing the cm_ptr after queuing it for destruction with the cr_thread to avoid use after free errors.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2701 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
Sean Hefty [Wed, 17 Feb 2010 18:12:23 +0000 (10:12 -0800)]
ibat/resolve: retry ibat resolution
Winverbs ND scale out testing showed that IBAT::Resolve() can
return E_PENDING, which requires that the resolution be retried.
A similar issue to this was seen when testing with the librdmacm.
Rather than duplicating retry logic in the winverbs ND provider,
add new functionality to ibat, with retry capability. To
avoid breaking the ibat.dll interface, extend the API with a
new call ResolvePath() that takes a timeout value.
ResolvePath() automatically retries Resolve() while the result
is E_PENDING, until the request times out. Modify the winverbs
ND provider to call ResolvePath(). Also update other places
where Resolve() is called in a loop: the librdmacm and wsd.