]> git.openfabrics.org - ~shefty/rdma-win.git/log
~shefty/rdma-win.git
14 years ago[DAPL2+Winverbs] use private heaps for debug + local control.
stansmith [Tue, 15 Sep 2009 23:02:17 +0000 (23:02 +0000)]
[DAPL2+Winverbs] use private heaps for debug + local control.

git-svn-id: svn://openib.tc.cornell.edu/gen1@2427 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[WinOF] allow 64-bit installer, remove win64=no and default to Product/Platform speci...
stansmith [Wed, 9 Sep 2009 21:23:13 +0000 (21:23 +0000)]
[WinOF] allow 64-bit installer, remove win64=no and default to Product/Platform specification.

git-svn-id: svn://openib.tc.cornell.edu/gen1@2426 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[WinOF] Correct typo RemoveShorcutFolder --> ProgramMenuDir so ProgramMenu always...
stansmith [Wed, 9 Sep 2009 21:20:34 +0000 (21:20 +0000)]
[WinOF] Correct typo RemoveShorcutFolder --> ProgramMenuDir so ProgramMenu always gets deleted.

git-svn-id: svn://openib.tc.cornell.edu/gen1@2425 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[WinOF] remove redundant Root spec as TARGETDIR implies '%WindowsVolume%\'
stansmith [Wed, 9 Sep 2009 21:18:00 +0000 (21:18 +0000)]
[WinOF] remove redundant Root spec as TARGETDIR implies '%WindowsVolume%\'

git-svn-id: svn://openib.tc.cornell.edu/gen1@2424 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agolibs: convert to use private heaps
shefty [Thu, 3 Sep 2009 18:34:19 +0000 (18:34 +0000)]
libs: convert to use private heaps

Convert winverbs, dapl, dat, libibverbs, and librdmacm to use private heaps.

This allows for better support of memory registration caching by upper
level libaries (MPI) that use SecureMemoryCacheCallback.

It also makes it easier to debug heap corruption issues.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2423 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[MLX4] add prints to Event Log in case of HCA resetting. [mlnx: 4723]
leonidk [Thu, 3 Sep 2009 12:56:20 +0000 (12:56 +0000)]
[MLX4] add prints to Event Log in case of HCA resetting. [mlnx: 4723]

git-svn-id: svn://openib.tc.cornell.edu/gen1@2422 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agowinverbs branch: sync with trunk
shefty [Wed, 2 Sep 2009 16:55:28 +0000 (16:55 +0000)]
winverbs branch: sync with trunk

git-svn-id: svn://openib.tc.cornell.edu/gen1@2421 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agodapl/dapltest: add missing yield call
shefty [Wed, 2 Sep 2009 16:53:00 +0000 (16:53 +0000)]
dapl/dapltest: add missing yield call

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2420 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agodapl/dapltest: avoid busy loop
shefty [Wed, 2 Sep 2009 16:45:31 +0000 (16:45 +0000)]
dapl/dapltest: avoid busy loop

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2419 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[IBBUS,COMPLIB] Eliminate re-initialization of the stop lock. Crash reported upon...
stansmith [Wed, 2 Sep 2009 16:44:42 +0000 (16:44 +0000)]
[IBBUS,COMPLIB] Eliminate re-initialization of the stop lock. Crash reported upon running “System Common Scenario” WHQL test with our stack. The crash: C4 (0xd7), which means Driver Verifier revealed a re-initializing of Remove Lock.
Signed-off by Leonid Keller leonid@mellanox.co.il

git-svn-id: svn://openib.tc.cornell.edu/gen1@2418 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[IBBUS,COMPLIB] Eliminate re-initialization of the stop lock. Crash reported upon...
stansmith [Wed, 2 Sep 2009 16:43:38 +0000 (16:43 +0000)]
[IBBUS,COMPLIB] Eliminate re-initialization of the stop lock. Crash reported upon running “System Common Scenario” WHQL test with our stack. The crash: C4 (0xd7), which means Driver Verifier revealed a re-initializing of Remove Lock.
Signed-off by Leonid Keller leonid@mellanox.co.il

git-svn-id: svn://openib.tc.cornell.edu/gen1@2417 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agodapl: fix build from comp_channel changes
shefty [Wed, 2 Sep 2009 16:28:10 +0000 (16:28 +0000)]
dapl: fix build from comp_channel changes

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2416 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agoetc/inet: use native inet_ntop and inet_pton on windows 6.0 and above
shefty [Wed, 2 Sep 2009 15:35:34 +0000 (15:35 +0000)]
etc/inet: use native inet_ntop and inet_pton on windows 6.0 and above

inet_ntop and inet_pton were added to windows 2008 and above.  Only implement for windows 2003 or older.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2415 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agolinux/search.h: add tsearch tree abstraction
shefty [Wed, 2 Sep 2009 15:33:42 +0000 (15:33 +0000)]
linux/search.h: add tsearch tree abstraction

Implement a tsearch, tfind tree abstraction for use by platform independent code.  Internally, this uses complib on windows platforms.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2414 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agolinux/socket.h: add header file
shefty [Wed, 2 Sep 2009 15:31:15 +0000 (15:31 +0000)]
linux/socket.h: add header file

Define socket.h header file for use by platform independent code.  It simply wraps an include around winsock2.h.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2413 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agoetc/comp_channel: add support for channel sets
shefty [Wed, 2 Sep 2009 15:30:03 +0000 (15:30 +0000)]
etc/comp_channel: add support for channel sets

To better mimic Linux fd support, add the concept of channel sets to completion channels.  This is needed to minimize changes in platform independent uDAPL code.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2412 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[HW] allow retrieving CA attributes with pageable memory. [winof: 2408]
leonidk [Wed, 2 Sep 2009 15:16:17 +0000 (15:16 +0000)]
[HW] allow retrieving CA attributes with pageable memory. [winof: 2408]

Modify the HCA drivers to support querying for attributes using a pageable buffer.  Since the query calls block, it seems appropriate for the calls to allow pageable memory, rather than forcing the user to allocate a non-paged buffer in order to obtain a list of attributes.  The problem stems from the HCA drivers accessing a user's buffer after acquiring a spinlock that raise IRQL.

This fixes kernel crashes with both the winmad and winverbs drivers.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2411 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agowinverbs: fix race in async connect handling
shefty [Wed, 2 Sep 2009 15:08:17 +0000 (15:08 +0000)]
winverbs: fix race in async connect handling

If an application calls Connect or Accept, their IRP is queued to a
work queue for asynchronous processing.  However, if the application
crashes or exits before the work queue can process the IRP, the cleanup
code will call WvEpFree().  This destroys the IbCmId.

When the work queue finally runs, it can access a freed IbCmId.
This is bad.  A similar race exists with the QP and the asynchronous
disconnect processing.  The disconnect processing can access a
the hVerbsQp handle after it has been destroyed.

Additionally, in all three cases, the IRPs assume that the WV provider
is able to process IRPs.  Specifically, they require that the index
tables maintained by the provider are still valid.  References must
be held on the WV provider until the IRPs finish their processing to
ensure this.

Fix invalid accesses to the IbCmId and hVerbsQp handles by locking
around their use after valid state checks.  In the case of the QP, we
add a guarded mutex for synchronization purposes and use that in place
where the PD mutex had been used.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2410 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agowinmad: return correct error code
shefty [Wed, 2 Sep 2009 15:07:09 +0000 (15:07 +0000)]
winmad: return correct error code

Winmad returns an incorrect error code when using send or receive in synchronous mode.  The OFED MAD code ends up working, since it checks for errors by comparing the return value < 0.  In this case, the return value us positive, when it should be zero.  Simplify the code and return the correct error code.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2409 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[HW] allow retrieving CA attributes with pageable memory
leonidk [Wed, 2 Sep 2009 15:06:56 +0000 (15:06 +0000)]
[HW] allow retrieving CA attributes with pageable memory

Modify the HCA drivers to support querying for attributes using a pageable buffer.  Since the query calls block, it seems appropriate for the calls to allow pageable memory, rather than forcing the user to allocate a non-paged buffer in order to obtain a list of attributes.  The problem stems from the HCA drivers accessing a user's buffer after acquiring a spinlock that raise IRQL.

This fixes kernel crashes with both the winmad and winverbs drivers.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2408 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agowinmad: return correct error code
shefty [Wed, 2 Sep 2009 15:05:48 +0000 (15:05 +0000)]
winmad: return correct error code

Winmad returns an incorrect error code when using send or receive in synchronous mode.  The OFED MAD code ends up working, since it checks for errors by comparing the return value < 0.  In this case, the return value us positive, when it should be zero.  Simplify the code and return the correct error code.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2407 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agowinverbs: fix race in async connect handling
shefty [Wed, 2 Sep 2009 15:00:53 +0000 (15:00 +0000)]
winverbs: fix race in async connect handling

If an application calls Connect or Accept, their IRP is queued to a
work queue for asynchronous processing.  However, if the application
crashes or exits before the work queue can process the IRP, the cleanup
code will call WvEpFree().  This destroys the IbCmId.

When the work queue finally runs, it can access a freed IbCmId.
This is bad.  A similar race exists with the QP and the asynchronous
disconnect processing.  The disconnect processing can access a
the hVerbsQp handle after it has been destroyed.

Additionally, in all three cases, the IRPs assume that the WV provider
is able to process IRPs.  Specifically, they require that the index
tables maintained by the provider are still valid.  References must
be held on the WV provider until the IRPs finish their processing to
ensure this.

Fix invalid accesses to the IbCmId and hVerbsQp handles by locking
around their use after valid state checks.  In the case of the QP, we
add a guarded mutex for synchronization purposes and use that in place
where the PD mutex had been used.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2406 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agodapl/rdma_cm provider: remove disconnect error message
shefty [Wed, 2 Sep 2009 14:58:25 +0000 (14:58 +0000)]
dapl/rdma_cm provider: remove disconnect error message

DAPL automatically calls rdma_disconnect() when a disconnect request is
received.  If the user also calls disconnect, that calls rdma_disconnect() as
well, but the connection has already been disconnected by DAPL and is no longer
valid.  The result is that the user's call to rdma_disconnect() will fail.  Do
not display an error message if this occurs.

Locking could be added to prevent calling rdma_disconnect() multiple times, but
since the librdmacm provides synchronization to trap this, we might as well take
advantage of it.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2405 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agowinmad: allocate registration struct from NonPagedPool
shefty [Wed, 2 Sep 2009 14:56:40 +0000 (14:56 +0000)]
winmad: allocate registration struct from NonPagedPool

Apparently data structures that are accessed from within MAD callbacks must be
allocated from NonPagedPool.  Allocated the WM_REGISTRATION structure from non
paged pool.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2404 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agowinmad: allocate registration struct from NonPagedPool
shefty [Wed, 2 Sep 2009 14:56:19 +0000 (14:56 +0000)]
winmad: allocate registration struct from NonPagedPool

Apparently data structures that are accessed from within MAD callbacks must be
allocated from NonPagedPool.  Allocated the WM_REGISTRATION structure from non
paged pool.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2403 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[WinOF] Shutdown NetworkDirect and Winsock direct before DIFxApp removes devices...
stansmith [Tue, 1 Sep 2009 22:00:33 +0000 (22:00 +0000)]
[WinOF] Shutdown NetworkDirect and Winsock direct before DIFxApp removes devices. Makes sure no lingering device references are on the IB stack which would prevent components from being removed.
Moved ND/WSD shutdown into separate CustomAction called before MsiProcessDevices.

git-svn-id: svn://openib.tc.cornell.edu/gen1@2402 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[DAPL2] udapl/scm: convert error code into dapl error code
stansmith [Tue, 1 Sep 2009 21:56:34 +0000 (21:56 +0000)]
[DAPL2] udapl/scm: convert error code into dapl error code
Intel MPI checks the uDAPL error code when calling dat_psp_create() to see if
the port number that it provides is in use or not.  Convert winsock error codes
to unix errno values.

This fixes the following error reported by Intel MPI:
'DAPL provider is not found and fallback device is not enabled'

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2401 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[WINMAD] winmad: allocate registration struct from NonPagedPool.
stansmith [Tue, 1 Sep 2009 21:53:35 +0000 (21:53 +0000)]
[WINMAD] winmad: allocate registration struct from NonPagedPool.
Apparently data structures that are accessed from within MAD callbacks must be
allocated from NonPagedPool.  Allocated the WM_REGISTRATION structure from non
paged pool.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2400 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[WinOF] Install Librdmacm.dll in a consistent place for all installs (%windir%)....
stansmith [Sat, 29 Aug 2009 01:07:33 +0000 (01:07 +0000)]
[WinOF] Install Librdmacm.dll in a consistent place for all installs (%windir%). After 2.1, explore installing .dll into [SYSTEM] folder.

git-svn-id: svn://openib.tc.cornell.edu/gen1@2399 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[WinOF] Add WinOF to Command Window name to distinguish it from other Command Windows...
stansmith [Sat, 29 Aug 2009 01:03:54 +0000 (01:03 +0000)]
[WinOF] Add WinOF to Command Window name to distinguish it from other Command Windows as Svr 2008 likes to add recently used commands to the start menu.
signed off by stan.smith@intel.com

git-svn-id: svn://openib.tc.cornell.edu/gen1@2398 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[WINVERBS] should have been pat of Revision: 2391; DllMain is called multiple times...
stansmith [Sat, 29 Aug 2009 01:01:14 +0000 (01:01 +0000)]
[WINVERBS] should have been pat of Revision: 2391; DllMain is called multiple times for a given process.  Prevent double initialization of critical sections by only initializing it during process attach.  This avoids corrupting the critical section while it may be in use.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2397 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[WINVERBS] winverbs: fix race in async connect handling. If an application calls...
stansmith [Sat, 29 Aug 2009 00:58:34 +0000 (00:58 +0000)]
[WINVERBS] winverbs: fix race in async connect handling.  If an application calls Connect or Accept, their IRP is queued to a work queue for asynchronous processing.  However, if the application crashes or exits before the work queue can process the IRP, the cleanup code will call WvEpFree().  This destroys the IbCmId. When the work queue finally runs, it can access a freed IbCmId. This is bad.  A similar race exists with the QP and the asynchronous disconnect processing.  The disconnect processing can access a the hVerbsQp handle after it has been destroyed.

Additionally, in all three cases, the IRPs assume that the WV provider is able to process IRPs. Specifically, they require that the index tables maintained by the provider are still valid.  References must be held on the WV provider until the IRPs finish their processing to ensure this.
Fix invalid accesses to the IbCmId and hVerbsQp handles by locking around their use after valid state checks.  In the case of the QP, we add a guarded mutex for synchronization purposes and use that in place where the PD mutex had been used.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2396 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[WINVERBS] To help match memory allocations with free, replace ExFreePool with ExFree...
stansmith [Sat, 29 Aug 2009 00:52:02 +0000 (00:52 +0000)]
[WINVERBS] To help match memory allocations with free, replace ExFreePool with ExFreePoolWithTag.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2395 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[WINVERBS] Endpoints are not maintained in a list associated with a provider. The...
stansmith [Sat, 29 Aug 2009 00:44:58 +0000 (00:44 +0000)]
[WINVERBS] Endpoints are not maintained in a list associated with a provider.  The list entry for an endpoint is used to track connection requests with listens.  When an endpoint is unassociated from a listen, it is removed from the listen list. Trying to remove it from a list during provider cleanup results in a duplicate removal, can corrupt the listen list, and may access freed memory.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2394 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[WINVERBS] The winverbs PD structure contains both an event and a guarded mutex....
stansmith [Sat, 29 Aug 2009 00:42:29 +0000 (00:42 +0000)]
[WINVERBS] The winverbs PD structure contains both an event and a guarded mutex.  Both must be allocated as part of resident memory, or vague system corruptions may occurif their memory is paged out.  The fix is to allocate the PD structure from NonPagedPool.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2393 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[WINVERBS] Fix a memory leak. We need to free the port array, which is allocated...
stansmith [Sat, 29 Aug 2009 00:39:47 +0000 (00:39 +0000)]
[WINVERBS] Fix a memory leak.  We need to free the port array, which is allocated separately from the device structure.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2392 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[WINVERBS] DllMain is called multiple times for a given process. Prevent double...
stansmith [Sat, 29 Aug 2009 00:37:08 +0000 (00:37 +0000)]
[WINVERBS] DllMain is called multiple times for a given process.  Prevent double initialization of critical sections by only initializing it during process attach.  This avoids corrupting the critical section while it may be in use.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2391 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[WinOF] All installs now install into 'Program Files' and not 'Program Files (x86...
stansmith [Sat, 29 Aug 2009 00:33:41 +0000 (00:33 +0000)]
[WinOF] All installs now install into 'Program Files' and not 'Program Files (x86)'..Cleanup references to \Program Files (x86)\WinOF.

git-svn-id: svn://openib.tc.cornell.edu/gen1@2390 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[WinOF] All installs now install into 'Program Files' and not 'Program Files (x86...
stansmith [Sat, 29 Aug 2009 00:04:11 +0000 (00:04 +0000)]
[WinOF] All installs now install into 'Program Files' and not 'Program Files (x86)'..Cleanup references to \Program Files (x86)\WinOF.

git-svn-id: svn://openib.tc.cornell.edu/gen1@2389 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agowinverbs branch: sync with commits in trunk
shefty [Fri, 28 Aug 2009 19:19:42 +0000 (19:19 +0000)]
winverbs branch: sync with commits in trunk

git-svn-id: svn://openib.tc.cornell.edu/gen1@2388 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agowinverbs/winmad: use ExFreePoolWithTag
shefty [Fri, 28 Aug 2009 19:15:48 +0000 (19:15 +0000)]
winverbs/winmad: use ExFreePoolWithTag

To help match memory allocations with free, replace ExFreePool with
ExFreePoolWithTag.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2387 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agowinverbs: free port array
shefty [Thu, 27 Aug 2009 18:51:37 +0000 (18:51 +0000)]
winverbs: free port array

Fix a memory leak.  We need to free the port array, which is allocated separately from the device structure.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2386 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agowinverbs: EP is not in a provider list, so don't try to remove it
shefty [Wed, 26 Aug 2009 16:47:57 +0000 (16:47 +0000)]
winverbs: EP is not in a provider list, so don't try to remove it

Endpoints are not maintained in a list associated with a provider.  The list
entry for an endpoint is used to track connection requests with listens.  When
an endpoint is unassociated from a listen, it is removed from the listen list.
Trying to remove it from a list during provider cleanup results in a duplicate
removal, can corrupt the listen list, and may access freed memory.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2385 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agowinverbs: ensure that event and mutex memory are resident
shefty [Wed, 26 Aug 2009 16:47:11 +0000 (16:47 +0000)]
winverbs: ensure that event and mutex memory are resident

The winverbs PD structure contains both an event and a guarded mutex.  Both must
be allocated as part of resident memory, or vague system corruptions may occur
if their memory is paged out.

The fix is to allocate the PD structure from NonPagedPool.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2384 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agolibrdmacm: fix race in ucma_init()
shefty [Wed, 26 Aug 2009 16:45:53 +0000 (16:45 +0000)]
librdmacm: fix race in ucma_init()

There's a potential race with ucma_init() and calls that check whether
the library is ready for use.  For example, in rdma_create_id, this
check is performed:

hr = cma_dev_cnt ? 0 : ucma_init();
if (hr) {
return hr;
}

Since the check for cma_dev_cnt is outside of any synchronization, if it
is non-zeroy, then the code will assume that initialization is complete.
However, ucma_init() can set cma_dev_cnt to non-zeroy before it has finished
executing.  The full impact of this race is unknown, but it can't be good.
In the worst case, the application may crash.

Fix this by ensuring that all initialization is complete before cma_dev_cnt
is incremented.  Note that ucma_init() provides synchronization to protect
against duplicate threads handling init.  The cma_dev_cnt check is used to
avoid synchronization on multiple calls into the library after initialization.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2383 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agoofed libs: prevent double initialization of critical section
shefty [Wed, 26 Aug 2009 16:44:24 +0000 (16:44 +0000)]
ofed libs: prevent double initialization of critical section

DllMain is called multiple times for a given process.  Prevent double
initialization of critical sections by only initializing it during process
attach.  This avoids corrupting the critical section while it may be in use.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2382 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[WinOF] RC4 staging.
stansmith [Mon, 24 Aug 2009 23:36:48 +0000 (23:36 +0000)]
[WinOF] RC4 staging.

git-svn-id: svn://openib.tc.cornell.edu/gen1@2381 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[LIBRDMACM] Fix a potential race with ucma_init() and calls that check whether the...
stansmith [Mon, 24 Aug 2009 23:25:50 +0000 (23:25 +0000)]
[LIBRDMACM] Fix a potential race with ucma_init() and calls that check whether the library is ready for use.

git-svn-id: svn://openib.tc.cornell.edu/gen1@2380 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[WinOF] OFA Digital-ID expired 8/20/09, added new OFA cert signature so the 'new...
stansmith [Fri, 21 Aug 2009 17:41:36 +0000 (17:41 +0000)]
[WinOF] OFA Digital-ID expired 8/20/09, added new OFA cert signature so the 'new' cert can be added to compute nodes cert store.

git-svn-id: svn://openib.tc.cornell.edu/gen1@2379 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agowinverbs: update to trunk svn 2370
shefty [Thu, 20 Aug 2009 18:47:29 +0000 (18:47 +0000)]
winverbs: update to trunk svn 2370

git-svn-id: svn://openib.tc.cornell.edu/gen1@2378 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agoib/core: report active width with port attributes.
shefty [Thu, 20 Aug 2009 18:43:13 +0000 (18:43 +0000)]
ib/core: report active width with port attributes.

git-svn-id: svn://openib.tc.cornell.edu/gen1@2377 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agoetc/comp_channel: add support for 'select' type operations
shefty [Thu, 20 Aug 2009 18:42:14 +0000 (18:42 +0000)]
etc/comp_channel: add support for 'select' type operations

Support more generic fd 'select' type operations against completion channels.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2376 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agoetc/inet: do not define inet_ntop and inet_pton on 2008 and beyond
shefty [Thu, 20 Aug 2009 18:40:03 +0000 (18:40 +0000)]
etc/inet: do not define inet_ntop and inet_pton on 2008 and beyond

Server 2008 and beyond provide implementations of inet_pton and inte_ntop.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2375 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agoibat: allow opening file for shared access
shefty [Thu, 20 Aug 2009 18:38:20 +0000 (18:38 +0000)]
ibat: allow opening file for shared access

git-svn-id: svn://openib.tc.cornell.edu/gen1@2374 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[WinOF] RC4
stansmith [Thu, 20 Aug 2009 17:00:39 +0000 (17:00 +0000)]
[WinOF] RC4

git-svn-id: svn://openib.tc.cornell.edu/gen1@2373 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[DAPL2] completion channel refactoring fixes.
stansmith [Thu, 20 Aug 2009 00:15:58 +0000 (00:15 +0000)]
[DAPL2] completion channel refactoring fixes.

git-svn-id: svn://openib.tc.cornell.edu/gen1@2372 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[DAPL2] yield the processor as the Windows thread scheduler will starve other threads...
stansmith [Thu, 20 Aug 2009 00:14:21 +0000 (00:14 +0000)]
[DAPL2] yield the processor as the Windows thread scheduler will starve other threads unlike the Linux scheduler.

git-svn-id: svn://openib.tc.cornell.edu/gen1@2371 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[WIX] update usage instructions to reflect WinOF is now under Trunk\ and no longer...
stansmith [Wed, 19 Aug 2009 21:49:50 +0000 (21:49 +0000)]
[WIX] update usage instructions to reflect WinOF is now under Trunk\ and no longer under branches\ . Include win7\x64\wof.wxs as I missed it in the last commit.

git-svn-id: svn://openib.tc.cornell.edu/gen1@2370 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[WIX] added comment indicating installer was for Server 2008 R2 also.
stansmith [Wed, 19 Aug 2009 21:46:16 +0000 (21:46 +0000)]
[WIX] added comment indicating installer was for Server 2008 R2 also.

git-svn-id: svn://openib.tc.cornell.edu/gen1@2369 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[DAPL2] %ERRORLEVEL% inside a for loop does not evaluate as expected; change to ...
stansmith [Wed, 19 Aug 2009 21:44:40 +0000 (21:44 +0000)]
[DAPL2] %ERRORLEVEL% inside a for loop does not evaluate as expected; change to !ERRORLEVEL!

git-svn-id: svn://openib.tc.cornell.edu/gen1@2368 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[DOCS] Update DAPL provider text w.r.t. names in DAT.conf file.
stansmith [Wed, 19 Aug 2009 21:41:48 +0000 (21:41 +0000)]
[DOCS] Update DAPL provider text w.r.t. names in DAT.conf file.

git-svn-id: svn://openib.tc.cornell.edu/gen1@2367 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agoib/port_attr: report active width as part of port attributes
shefty [Tue, 18 Aug 2009 19:22:47 +0000 (19:22 +0000)]
ib/port_attr: report active width as part of port attributes

Return the active width in the port attributes reported by the HCA.
Because the kernel and user space share the same source
files, to avoid breaking the ABI, rename link_width_supported
field to active_width and use that field to return the value.
link_width_supported is currently uninitialized and in the
svn tree unused, so repurposing the field should have minimal
impact.  However, this change will break the API.
Applications that reference the link_width_supported field
from struct _ib_port_attr will require a minor update if recompiled.

Update winverbs to report this value and fill in other
missing fields from the port attribute structure.  This fix
allows reporting the correct values through the libibverbs
port and ibv_devinfo example utility.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2366 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[ipoib 6] Updated driver to the latest changes.
tzachid [Tue, 18 Aug 2009 14:47:56 +0000 (14:47 +0000)]
[ipoib 6] Updated driver to the latest changes.

git-svn-id: svn://openib.tc.cornell.edu/gen1@2365 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[IPoIB] IPoIB PXE boot support: Clear remainder of chaddr
stansmith [Mon, 17 Aug 2009 23:17:41 +0000 (23:17 +0000)]
[IPoIB] IPoIB PXE boot support: Clear remainder of chaddr

    The IPoIB PXE boot firmware (gPXE) now sends the 8-byte port GUID in
    the DHCP chaddr field.  WinOF replaces the first 6 bytes of chaddr
    with the Ethernet-style MAC address, but leaves the remainder
    untouched.  This results in trailing garbage after the Ethernet-style
    MAC in the modified chaddr.

    Fix by explicitly zeroing the remainder of chaddr.

Signed-off-by: Michael Brown <mcb30@etherboot.org>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2364 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[IBAT] allow simultaneous IBAT device access from user mode by adding RW sharing...
stansmith [Mon, 17 Aug 2009 23:11:00 +0000 (23:11 +0000)]
[IBAT] allow simultaneous IBAT device access from user mode by adding RW sharing attributes to CreateFileW() call. signed off by stan.smith@intel.com

git-svn-id: svn://openib.tc.cornell.edu/gen1@2363 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[LIBRDMACM] retry IBAT call on E_PENDING return. Signed off by Sean.Hefty@intel.com...
stansmith [Mon, 17 Aug 2009 23:06:55 +0000 (23:06 +0000)]
[LIBRDMACM] retry IBAT call on E_PENDING return. Signed off by Sean.Hefty@intel.com & stan.smith@intel.com

git-svn-id: svn://openib.tc.cornell.edu/gen1@2362 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[MLX4] on catastrophic error, dump error buffer before reset. [winof: 2358]
leonidk [Sun, 16 Aug 2009 14:26:00 +0000 (14:26 +0000)]
[MLX4] on catastrophic error, dump error buffer before reset. [winof: 2358]

git-svn-id: svn://openib.tc.cornell.edu/gen1@2361 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[MLX4] bug fix in error flow: doesn't return error on allocation failure. [winof...
leonidk [Sun, 16 Aug 2009 14:25:36 +0000 (14:25 +0000)]
[MLX4] bug fix in error flow: doesn't return error on allocation failure. [winof: 2356]

git-svn-id: svn://openib.tc.cornell.edu/gen1@2360 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[IBAL] fix to 2226. cause an asynchronic event to be handled immediately (and not...
leonidk [Sun, 16 Aug 2009 14:23:48 +0000 (14:23 +0000)]
[IBAL] fix to 2226. cause an asynchronic event to be handled immediately (and not after SMI_POLL_INTERVAL, which is 20 secs) [mlnx: 4651]

git-svn-id: svn://openib.tc.cornell.edu/gen1@2359 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[MLX4] on catastrophic error, dump error buffer before reset. [mlnx: 4636]
leonidk [Sun, 16 Aug 2009 14:17:29 +0000 (14:17 +0000)]
[MLX4] on catastrophic error, dump error buffer before reset. [mlnx: 4636]

git-svn-id: svn://openib.tc.cornell.edu/gen1@2358 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[MLX4] added debug prints in case of errors. [mlnx: 4664]
leonidk [Sun, 16 Aug 2009 14:12:31 +0000 (14:12 +0000)]
[MLX4] added debug prints in case of errors. [mlnx: 4664]

git-svn-id: svn://openib.tc.cornell.edu/gen1@2357 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[MLX4] bug fix in error flow: doesn't return error on allocation failure. [mlnx:...
leonidk [Sun, 16 Aug 2009 14:12:09 +0000 (14:12 +0000)]
[MLX4] bug fix in error flow: doesn't return error on allocation failure. [mlnx: 4663]

git-svn-id: svn://openib.tc.cornell.edu/gen1@2356 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[IBAL] fix to 2226. cause an asynchronic event to be handled immediately (and not...
leonidk [Sun, 16 Aug 2009 14:06:23 +0000 (14:06 +0000)]
[IBAL] fix to 2226. cause an asynchronic event to be handled immediately (and not after SMI_POLL_INTERVAL, which is 20 secs) [mlnx: 4651]

git-svn-id: svn://openib.tc.cornell.edu/gen1@2355 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[MLX4] added support for NOP operation. [mlnx: 4579]
leonidk [Sun, 16 Aug 2009 13:58:05 +0000 (13:58 +0000)]
[MLX4] added support for NOP operation. [mlnx: 4579]

One can now post WQE with WR_NOP operation just to get interrupt on completion.

git-svn-id: svn://openib.tc.cornell.edu/gen1@2354 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[ND provider] This patch is a fix to 2333. It removes a facility to define MaxDataInl...
leonidk [Sun, 16 Aug 2009 12:44:11 +0000 (12:44 +0000)]
[ND provider] This patch is a fix to 2333. It removes a facility to define MaxDataInlineSize from application, because it breaks MS API

[ND porvider] Improved latency of ND provider by using INLINE send. [winof: 2333, 2352]

This patch adds usage of INLINE DATA facility of Mellanox HCAs for improving latency of ND provider.

Here are the ideas of the patch:
    - by default, ND provider will create QP with inline data of 160 bytes;
    (this can enlarge user's QP size)
    - one can change this default by defining environment variable IBNDPROV_MAX_INLINE_SIZE;

git-svn-id: svn://openib.tc.cornell.edu/gen1@2353 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[ND provider] This patch is a fix to 2333. It removes a facility to define MaxDataInl...
leonidk [Sun, 16 Aug 2009 12:40:46 +0000 (12:40 +0000)]
[ND provider] This patch is a fix to 2333. It removes a facility to define MaxDataInlineSize from application, because it breaks MS API

Improved latency of ND provider by using INLINE send

This patch adds usage of INLINE DATA facility of Mellanox HCAs for improving latency of ND provider.

Here are the ideas of the patch:
    - by default, ND provider will create QP with inline data of 160 bytes;
    (this can enlarge user's QP size)
    - one can change this default by defining environment variable IBNDPROV_MAX_INLINE_SIZE;

git-svn-id: svn://openib.tc.cornell.edu/gen1@2352 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[IPOIB] Prevent a BSOD which happens when restarting the opensm more than once (if...
stansmith [Thu, 13 Aug 2009 17:34:29 +0000 (17:34 +0000)]
[IPOIB] Prevent a BSOD which happens when restarting the opensm more than once (if the local endpoint was not in the lid_endpts list). signed off by stan.smith@intel.com & Tzachi Dar [tzachid@mellanox.co.il]

git-svn-id: svn://openib.tc.cornell.edu/gen1@2351 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agowinverbs/driver: fix check for IP version
shefty [Mon, 10 Aug 2009 18:55:38 +0000 (18:55 +0000)]
winverbs/driver: fix check for IP version

merge commit 2339/2340

The IP version is in the upper 4 bits of an 8 bit field.  It is set
correctly, but not ready out correctly.  The result is that an IPv4
address reported to user space is listed as an IPv6 address instead.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2350 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agoreapply overwritten commit 2340
shefty [Mon, 10 Aug 2009 18:52:32 +0000 (18:52 +0000)]
reapply overwritten commit 2340

not sure what happened, but commit 2340 was lost

The IP version number is in the upper 4 bits.  It is set correctly, but not read out correctly.

git-svn-id: svn://openib.tc.cornell.edu/gen1@2349 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agowinverbs/driver: fix check for IP version (reapply overwritten commit)
shefty [Mon, 10 Aug 2009 18:49:25 +0000 (18:49 +0000)]
winverbs/driver: fix check for IP version (reapply overwritten commit)

The IP version is in the upper 4 bits of an 8 bit field.  It is set
correctly, but not ready out correctly.  The result is that an IPv4
address reported to user space is listed as an IPv6 address instead.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2348 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agowinverbs/driver: change status for rejected connections
shefty [Mon, 10 Aug 2009 18:44:36 +0000 (18:44 +0000)]
winverbs/driver: change status for rejected connections

merge commit 2339

Complete connection requests with STATUS_CONNECTION_REFUSED rather
than STATUS_REQUEST_NOT_ACCEPTED for rejected connections.  This aligns
the status value with ND.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2347 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agoibal/cm: allow RDMA writes for QP attributes by default
shefty [Mon, 10 Aug 2009 18:43:51 +0000 (18:43 +0000)]
ibal/cm: allow RDMA writes for QP attributes by default

merge commit 2334

Enable remote RDMA writes as the default QP attributes for INIT
transitions.  Previously, RDMA writes were only enabled if the CM
messages carried a responder resources > 0.  However, responder
resources indicates whether RDMA reads/atomics should be enabled,
not RDMA writes.

Without this patch, users of winverbs that connect in-band that
want to perform RDMA writes without performing RDMA reads will
see QP errors when performing writes.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2346 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agowinverbs/status: add status definition for IO timeout
shefty [Mon, 10 Aug 2009 18:42:48 +0000 (18:42 +0000)]
winverbs/status: add status definition for IO timeout

merge commit 2329

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2345 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agolibibverbs: add reference counts to track CQ events
shefty [Mon, 10 Aug 2009 18:41:43 +0000 (18:41 +0000)]
libibverbs: add reference counts to track CQ events

merge commit 2323

We need to track CQ events to block destroying CQ objects until all outstanding events have been acknowledged.  Otherwise, the caller could reference freed memory after calling ibv_get_cq_event.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2344 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agowinverbs: fix cleanup in error handling cases
shefty [Mon, 10 Aug 2009 18:40:06 +0000 (18:40 +0000)]
winverbs: fix cleanup in error handling cases

merge svn 2320 from trunk

Running the ndmw test results in a crash in the winverbs driver.  The
crash is caused by improper cleanup in the winverbs driver as a result
of a failure trying to allocate a memory window.

In studying the crash, the same situation could arise if other objects
also fail to be created (QPs, CQs, PDs, etc.)  To fix the crash and
simplify the code, explicit calls to used to increment the reference
count on referenced objects, rather than simply holding onto the
reference that was acquired when the object was validated.  (The latter
is slightly more efficient, but results in less maintainable code
once any fix is applied.)

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2343 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agowinverbs branch: update to svn 2341
shefty [Mon, 10 Aug 2009 17:26:56 +0000 (17:26 +0000)]
winverbs branch: update to svn 2341

git-svn-id: svn://openib.tc.cornell.edu/gen1@2342 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agowinverbs/driver: change status for rejected connections
shefty [Mon, 10 Aug 2009 17:22:32 +0000 (17:22 +0000)]
winverbs/driver: change status for rejected connections

Complete connection requests with STATUS_CONNECTION_REFUSED rather
than STATUS_REQUEST_NOT_ACCEPTED for rejected connections.  This aligns
the status value with ND.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2341 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agowinverbs/driver: fix check for IP version
shefty [Sat, 8 Aug 2009 00:21:54 +0000 (00:21 +0000)]
winverbs/driver: fix check for IP version

The IP version is in the upper 4 bits of an 8 bit field.  It is set
correctly, but not ready out correctly.  The result is that an IPv4
address reported to user space is listed as an IPv6 address instead.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2340 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agowinverbs/driver: change status for rejected connections
shefty [Sat, 8 Aug 2009 00:20:44 +0000 (00:20 +0000)]
winverbs/driver: change status for rejected connections

Complete connection requests with STATUS_CONNECTION_REFUSED rather
than STATUS_REQUEST_NOT_ACCEPTED for rejected connections.  This aligns
the status value with ND.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2339 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[ETC] Remove stale code from previous DAPL CNO wait experiments.
stansmith [Fri, 7 Aug 2009 20:42:19 +0000 (20:42 +0000)]
[ETC] Remove stale code from previous DAPL CNO wait experiments.

git-svn-id: svn://openib.tc.cornell.edu/gen1@2338 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[DAPL2] Sync with OFED DAPL 2.0.21 src release
stansmith [Fri, 7 Aug 2009 20:16:36 +0000 (20:16 +0000)]
[DAPL2] Sync with OFED DAPL 2.0.21 src release

git-svn-id: svn://openib.tc.cornell.edu/gen1@2337 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[ETC] The completion manager abstraction can hang during cleanup. The hang
stansmith [Fri, 7 Aug 2009 19:47:44 +0000 (19:47 +0000)]
[ETC] The completion manager abstraction can hang during cleanup.  The hang
occurs when the user calls CompManagerCancel before calling CompManagerClose,
and the user is not waiting for events.  In this case, the completion manager
thread will pull the cancel request from the IO completion port and queue it
with the manager.  When CompManagerClose is called, it calls CompManagerCancel
to signal the thread to check the running state.  However, the completion
manager's event structure is still marked busy from the user's CompManagerCancel
call.

The result is that the completion manager thread does not receive the
signal to check the running flag and remains asleep.  Fix this by using a
different completion entry to signal the thread during destruction than that
used to cancel a CompManagerPoll event.

This fixes occasional hangs running dapltest with both the rdma_cm and socket
cm providers.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2336 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agoibal/cm: allow RDMA writes for QP attributes by default
shefty [Fri, 7 Aug 2009 18:49:07 +0000 (18:49 +0000)]
ibal/cm: allow RDMA writes for QP attributes by default

Enable remote RDMA writes as the default QP attributes for INIT
transitions.  Previously, RDMA writes were only enabled if the CM
messages carried a responder resources > 0.  However, responder
resources indicates whether RDMA reads/atomics should be enabled,
not RDMA writes.

Without this patch, users of winverbs that connect in-band that
want to perform RDMA writes without performing RDMA reads will
see QP errors when performing writes.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2335 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agoibal/cm: allow RDMA writes for QP attributes by default
shefty [Fri, 7 Aug 2009 18:48:52 +0000 (18:48 +0000)]
ibal/cm: allow RDMA writes for QP attributes by default

Enable remote RDMA writes as the default QP attributes for INIT
transitions.  Previously, RDMA writes were only enabled if the CM
messages carried a responder resources > 0.  However, responder
resources indicates whether RDMA reads/atomics should be enabled,
not RDMA writes.

Without this patch, users of winverbs that connect in-band that
want to perform RDMA writes without performing RDMA reads will
see QP errors when performing writes.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2334 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[ND provider] improved latency of ND provider by using INLINE send
leonidk [Thu, 6 Aug 2009 17:13:25 +0000 (17:13 +0000)]
[ND provider] improved latency of ND provider by using INLINE send

This patch adds usage of INLINE DATA facility of Mellanox HCAs for improving latency of ND provider.

Here are the ideas of the patch:
    - by default, ND provider will create QP with inline data of 160 bytes;
    (this can enlarge user's QP size)
    - one can change this default by defining environment variable IBNDPROV_MAX_INLINE_SIZE;
    - an ND application, while creating QP, can define the necessary INLINE DATA size; this value takes precedence over the default one.

git-svn-id: svn://openib.tc.cornell.edu/gen1@2333 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agowinverbs/status: add status definition for IO timeout
shefty [Wed, 5 Aug 2009 23:44:28 +0000 (23:44 +0000)]
winverbs/status: add status definition for IO timeout

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2332 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agowinverbs/status: add status definition for IO timeout
shefty [Wed, 5 Aug 2009 23:44:16 +0000 (23:44 +0000)]
winverbs/status: add status definition for IO timeout

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2331 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agolibibverbs/comp_mgr: fix hang during destruction
shefty [Wed, 5 Aug 2009 23:43:36 +0000 (23:43 +0000)]
libibverbs/comp_mgr: fix hang during destruction

The completion manager abstraction can hang during cleanup.  The hang
occurs when the user calls CompManagerCancel before calling CompManagerClose,
and the user is not waiting for events.  In this case, the completion manager
thread will pull the cancel request from the IO completion port and queue it
with the manager.  When CompManagerClose is called, it calls CompManagerCancel
to signal the thread to check the running state.  However, the completion
manager's event structure is still marked busy from the user's CompManagerCancel
call.

The result is that the completion manager thread does not receive the
signal to check the running flag and remains asleep.  Fix this by using a
different completion entry to signal the thread during destruction than that
used to cancel a CompManagerPoll event.

This fixes occasional hangs running dapltest with both the rdma_cm and socket
cm providers.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2330 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years agolibibverbs/comp_mgr: fix hang during destruction
shefty [Wed, 5 Aug 2009 23:43:10 +0000 (23:43 +0000)]
libibverbs/comp_mgr: fix hang during destruction

The completion manager abstraction can hang during cleanup.  The hang
occurs when the user calls CompManagerCancel before calling CompManagerClose,
and the user is not waiting for events.  In this case, the completion manager
thread will pull the cancel request from the IO completion port and queue it
with the manager.  When CompManagerClose is called, it calls CompManagerCancel
to signal the thread to check the running state.  However, the completion
manager's event structure is still marked busy from the user's CompManagerCancel
call.

The result is that the completion manager thread does not receive the
signal to check the running flag and remains asleep.  Fix this by using a
different completion entry to signal the thread during destruction than that
used to cancel a CompManagerPoll event.

This fixes occasional hangs running dapltest with both the rdma_cm and socket
cm providers.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2329 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[WINOF\HPC] update example scripts - run from C:\WOF
stansmith [Tue, 4 Aug 2009 17:23:22 +0000 (17:23 +0000)]
[WINOF\HPC] update example scripts - run from C:\WOF

git-svn-id: svn://openib.tc.cornell.edu/gen1@2328 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86