]> git.openfabrics.org - ~shefty/rdma-win.git/log
~shefty/rdma-win.git
14 years ago[IBAL] Fix for cid on QP (for cm QPs).
tzachid [Tue, 20 Oct 2009 09:26:58 +0000 (09:26 +0000)]
[IBAL] Fix for cid on QP (for cm QPs).

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

14 years ago[INC] added defines for strcasecmp() & strtouq()
stansmith [Mon, 19 Oct 2009 18:08:52 +0000 (18:08 +0000)]
[INC] added defines for strcasecmp() & strtouq()

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

14 years ago[WSD] Add fall back to wsd (extended APM).
tzachid [Sun, 18 Oct 2009 11:20:08 +0000 (11:20 +0000)]
[WSD] Add fall back to wsd (extended APM).

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

14 years ago[mlx4_bus] Move our bus driver to be a network driver.
tzachid [Sun, 18 Oct 2009 09:31:29 +0000 (09:31 +0000)]
[mlx4_bus] Move our bus driver to be a network driver.

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

14 years ago[ibal] Allow cm to send a lap request after a failed (by timeout) lap request.
tzachid [Thu, 15 Oct 2009 13:44:15 +0000 (13:44 +0000)]
[ibal] Allow cm to send a lap request after a failed (by timeout) lap request.

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

14 years agolibrdmacm: add support for IB ACM
shefty [Wed, 30 Sep 2009 22:51:47 +0000 (22:51 +0000)]
librdmacm: add support for IB ACM

Update from trunk overwrote changes - revert back

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

14 years agoetc/linux: add netdb.h header file for linux portability
shefty [Wed, 30 Sep 2009 22:50:46 +0000 (22:50 +0000)]
etc/linux: add netdb.h header file for linux portability

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

14 years agowinverbs branch: update to trunk svn 2479
shefty [Wed, 30 Sep 2009 22:37:56 +0000 (22:37 +0000)]
winverbs branch: update to trunk svn 2479

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

14 years agowinverbs: map WSA error codes to winverbs status values
shefty [Wed, 30 Sep 2009 22:37:14 +0000 (22:37 +0000)]
winverbs: map WSA error codes to winverbs status values

Intel MPI bases decisions on the correct status value being returned and mapped correctly through uDAPL.

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

14 years agowinverbs: store devices in order that they are added
shefty [Wed, 30 Sep 2009 22:35:57 +0000 (22:35 +0000)]
winverbs: store devices in order that they are added

Maintaining and reporting devices in the same order that they are seen by the driver assists users in mapping IPoIB devices to verbs.

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

14 years agolibibverbs: delete MR when unregistering
shefty [Wed, 30 Sep 2009 22:33:27 +0000 (22:33 +0000)]
libibverbs: delete MR when unregistering

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

14 years agowinverbs branch
shefty [Wed, 30 Sep 2009 22:04:58 +0000 (22:04 +0000)]
winverbs branch

commit all changes before updating with trunk - mainly patches undergoing development to support IB ACM.

signed-off-by: Sean Hefty <sean.hefty@intel.com>

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

14 years agodapl: updated to commit 23445bbbd3a09f7f5e666a000d5c7c3b22dd95b3
shefty [Wed, 30 Sep 2009 22:01:34 +0000 (22:01 +0000)]
dapl: updated to commit 23445bbbd3a09f7f5e666a000d5c7c3b22dd95b3

plus a couple of patches to make it build

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

14 years agoib-mgmt:
shefty [Wed, 30 Sep 2009 21:56:11 +0000 (21:56 +0000)]
ib-mgmt:

update to commit 0abb828175450b873521d4917c3edb0a7b57c337
plus fixes to build that are submitted back upstream

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

14 years ago[WinOF] prep for WinOF 2.1 GA
stansmith [Mon, 28 Sep 2009 17:19:54 +0000 (17:19 +0000)]
[WinOF] prep for WinOF 2.1 GA

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

14 years ago[WinOF] Not all installers (svr2003/XP) default TARGETDIR == WindowsVolume, explicitl...
stansmith [Mon, 28 Sep 2009 17:14:49 +0000 (17:14 +0000)]
[WinOF] Not all installers (svr2003/XP) default TARGETDIR == WindowsVolume, explicitly set WindowsVolume so DAT\ is installed where expected '%SystemDrive%\DAT'.

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

14 years ago[WinOF] document logic in loading the windows driver store 1st with mlx4_hca driver...
stansmith [Mon, 28 Sep 2009 17:09:37 +0000 (17:09 +0000)]
[WinOF] document logic in loading the windows driver store 1st with mlx4_hca driver, then mlx4_bus driver. Story is a race between PNP and MSFT installer, as the mlx4_bus driver if installed 1st will setup for mlx4_hca and PNP will request mlx4_hca driver before the mlx4_hca driver has been installed into the driver store - net result is a failed mlx4_hca load/startup. Install into Driver Store: 1st mlx4_hca, then mlx4_bus.

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

14 years ago[WinOF] append WinOF release version string to uninstall command start-menu name.
stansmith [Mon, 28 Sep 2009 17:05:03 +0000 (17:05 +0000)]
[WinOF] append WinOF release version string to uninstall command start-menu name.

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

14 years agodapl2
shefty [Mon, 28 Sep 2009 05:19:05 +0000 (05:19 +0000)]
dapl2
Move close socket calls to the connection thread, to prevent accessing a socket
after it has been closed.

Remove the setsockopt call to mark listen addresses as reusable.  A reusable
address allows other libraries, such as MPI, to bind to the same address.

Create all sockets as IPPROTO_TCP, rather than undefined.

Listen on a specific address, rather than any address, to prevent two listens
from occurring on the same port, but using different IP addresses.  This
prevents connections from going to the wrong process.

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

14 years agowinverbs
shefty [Mon, 28 Sep 2009 05:17:47 +0000 (05:17 +0000)]
winverbs
Map select winsock errors to winverb error codes.  MPI relies on specific error
codes mapped through DAPL, specifically to determine if an address is in use.

Also adds devices to the end of the device list, rather than the beginning,
which helps maintain a more natural order of the devices when matched against
system device lists.

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

14 years agolibrdmacm
shefty [Mon, 28 Sep 2009 05:17:00 +0000 (05:17 +0000)]
librdmacm
Have librdmacm release all libibverbs resources when the last librdmacm
structure goes away.  This allows for graceful cleanup when the libraries are
properly unloaded, which is useful for debugging application that crash or do
not cleanup all resources properly.

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

14 years agowinmad
shefty [Mon, 28 Sep 2009 05:16:09 +0000 (05:16 +0000)]
winmad
Fix Send and Read calls to return correct status code.

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

14 years agolibibverbs
shefty [Mon, 28 Sep 2009 05:15:34 +0000 (05:15 +0000)]
libibverbs
Free MR structure when deregistering.  Fixes a small (about 8 bytes) memory
leak.

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

14 years ago[ibbus] Remove setting of the cid from the QP due to compilation error.
tzachid [Thu, 24 Sep 2009 13:15:18 +0000 (13:15 +0000)]
[ibbus] Remove setting of the cid from the QP due to compilation error.

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

14 years ago[ibbus] Add support for APM using the CM to pass messages.
tzachid [Thu, 24 Sep 2009 09:33:33 +0000 (09:33 +0000)]
[ibbus] Add support for APM using the CM to pass messages.

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

14 years ago[WSD] Add basic support for APM to wsd.
tzachid [Thu, 24 Sep 2009 09:05:23 +0000 (09:05 +0000)]
[WSD] Add basic support for APM to wsd.

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

14 years agodapl: wait for all threads to be destroyed
shefty [Wed, 23 Sep 2009 21:52:30 +0000 (21:52 +0000)]
dapl: wait for all threads to be destroyed

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

14 years agodapl: cleanup timer thread
shefty [Wed, 23 Sep 2009 21:50:33 +0000 (21:50 +0000)]
dapl: cleanup timer thread

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

14 years agowinverbs: fix crash accessing freed memory from async thread
shefty [Wed, 23 Sep 2009 21:46:19 +0000 (21:46 +0000)]
winverbs: fix crash accessing freed memory from async thread

If an application exits while asynchronous accept processing is queued,
it's possible for the async processing to access the IbCmId after it has
been freed.  A similar problem to this was fixed that dealt with accessing
the verbs QP handle.

A simpler, more generic solution to this problem is to handle application
exit in the same manner as device removal, and lock the winverb provider
lookup lists with exclusive access.  Asynchronous operations that are in
process will run to completion, and future operations will be blocked until
the provider cleanup thread has completed.  Once they run, they will fail
to acquire a reference on the desired object, which should result in a
graceful failure.

This avoids more complicated locking to use handles belonging to the lower
level code.  If a reference on an object can be acquired, the handle will
be available for use until the reference is released.  To handle IB CM
callbacks, additional state checking is required to avoid processing
CM events when we're trying to destroy the endpoint.

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

14 years agowinverbs/libibverbs: use private heap space
shefty [Wed, 23 Sep 2009 21:45:42 +0000 (21:45 +0000)]
winverbs/libibverbs: use private heap space

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

14 years agolibrdmacm: add back in missing cma_dev_cnt
shefty [Wed, 23 Sep 2009 21:38:40 +0000 (21:38 +0000)]
librdmacm: add back in missing cma_dev_cnt

Initialization lost when moving patches from branch to trunk.

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

14 years agolibrdmacm: allow for graceful cleanup of verbs
shefty [Wed, 23 Sep 2009 21:35:57 +0000 (21:35 +0000)]
librdmacm: allow for graceful cleanup of verbs

Have librdmacm release libibverbs resources when they are no longer in use.  This provides for more graceful cleanup of verbs resources.

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

14 years agolibrdmacm: allow for graceful cleanup of verbs
shefty [Wed, 23 Sep 2009 21:35:19 +0000 (21:35 +0000)]
librdmacm: allow for graceful cleanup of verbs

Have librdmacm release libibverbs resources when they are no longer in use.  This provides for more graceful cleanup of verbs resources.

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

14 years agolibibumad: implement 'dump' functions
shefty [Wed, 23 Sep 2009 21:22:02 +0000 (21:22 +0000)]
libibumad: implement 'dump' functions

print mad information in 'dump' routines previously left unimplemented

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

14 years agolibibumad: implement 'dump' functions
shefty [Wed, 23 Sep 2009 21:21:47 +0000 (21:21 +0000)]
libibumad: implement 'dump' functions

print mad information in 'dump' routines previously left unimplemented

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

14 years agoetc/search: handle malloc failures and fix build warnings
shefty [Wed, 23 Sep 2009 21:20:02 +0000 (21:20 +0000)]
etc/search: handle malloc failures and fix build warnings

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

14 years agoetc/search: handle malloc failures and fix build warnings
shefty [Wed, 23 Sep 2009 21:19:52 +0000 (21:19 +0000)]
etc/search: handle malloc failures and fix build warnings

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

14 years agowinverbs: fix crash accessing freed memory from async thread
shefty [Wed, 23 Sep 2009 21:16:25 +0000 (21:16 +0000)]
winverbs: fix crash accessing freed memory from async thread

If an application exits while asynchronous accept processing is queued,
it's possible for the async processing to access the IbCmId after it has
been freed.  A similar problem to this was fixed that dealt with accessing
the verbs QP handle.

A simpler, more generic solution to this problem is to handle application
exit in the same manner as device removal, and lock the winverb provider
lookup lists with exclusive access.  Asynchronous operations that are in
process will run to completion, and future operations will be blocked until
the provider cleanup thread has completed.  Once they run, they will fail
to acquire a reference on the desired object, which should result in a
graceful failure.

This avoids more complicated locking to use handles belonging to the lower
level code.  If a reference on an object can be acquired, the handle will
be available for use until the reference is released.  To handle IB CM
callbacks, additional state checking is required to avoid processing
CM events when we're trying to destroy the endpoint.

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

14 years agowinverbs: convert WSA status values to winverbs values.
shefty [Wed, 23 Sep 2009 21:10:37 +0000 (21:10 +0000)]
winverbs: convert WSA status values to winverbs values.

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

14 years ago[DAPL2] sync with WinOF 2.1 branch
stansmith [Fri, 18 Sep 2009 23:19:41 +0000 (23:19 +0000)]
[DAPL2] sync with WinOF 2.1 branch

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

14 years ago[DAPL2] wait for async processing thread to actually exit.
stansmith [Fri, 18 Sep 2009 23:07:14 +0000 (23:07 +0000)]
[DAPL2] wait for async processing thread to actually exit.
DAPL doesn't actually wait for the async processing thread to exit before
allowing the library to close.  It will wait up to 10 seconds, which under
heavy load isn't enough time.  Since the thread is created by an application
level thread, it will continue to run as long as the application runs.  But
if the application closes the library, then all library data and code is
invalid, which can result in the thread running something that's not
library code and accessing freed memory.

With this change, I was able to run mpi ping-pong, 16 ranks on a single
system (scm provider) without crashes 1300 times.

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

14 years ago[DAPL2] add cleanup/release code for timer thread
stansmith [Fri, 18 Sep 2009 23:04:33 +0000 (23:04 +0000)]
[DAPL2] add cleanup/release code for timer thread
dapl_set_timer() creates a thread to process timers for dat_ep_connect
but provides no mechanism to destroy/exit during dapl library unload.
Timers are initialized in library init code and should be released
in the fini code. Add a dapl_timer_release call to the dapl_fini
function to check state of timer thread and destroy before exiting.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2449 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

14 years ago[WinVerbs] fix crash accessing freed memory from async thread
stansmith [Fri, 18 Sep 2009 23:02:31 +0000 (23:02 +0000)]
[WinVerbs] fix crash accessing freed memory from async thread
If an application exits while asynchronous accept processing is queued,
it's possible for the async processing to access the IbCmId after it has
been freed.  A similar problem to this was fixed that dealt with accessing
the verbs QP handle.

A simpler, more generic solution to this problem is to handle application
exit in the same manner as device removal, and lock the winverb provider
lookup lists with exclusive access.  Asynchronous operations that are in
process will run to completion, and future operations will be blocked until
the provider cleanup thread has completed.  Once they run, they will fail
to acquire a reference on the desired object, which should result in a
graceful failure.

This avoids more complicated locking to use handles belonging to the lower
level code.  If a reference on an object can be acquired, the handle will
be available for use until the reference is released.  To handle IB CM
callbacks, additional state checking is required to avoid processing
CM events when we're trying to destroy the endpoint.

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

14 years ago[WinOF] detect possible ConnectX HCA driver load failure and suggest examination...
stansmith [Fri, 18 Sep 2009 21:24:01 +0000 (21:24 +0000)]
[WinOF] detect possible ConnectX HCA driver load failure and suggest examination of system event log to ascertain if invalid firmware is an issue.

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

14 years ago[WinOF,ETC] When building with latest WDK, turn off OACR (Auto-Code-Review) as it...
stansmith [Thu, 17 Sep 2009 22:41:17 +0000 (22:41 +0000)]
[WinOF,ETC] When building with latest WDK, turn off OACR (Auto-Code-Review) as it slows down the build process.
Remove extra 'call' when invoking bldwo.bat from buildrelease.bat.

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

14 years ago[WinOF] Enable Windows 7 & Svr 2008 R2 build support by making WDK 7600.16385.0 the...
stansmith [Thu, 17 Sep 2009 16:52:37 +0000 (16:52 +0000)]
[WinOF] Enable Windows 7 & Svr 2008 R2 build support by making WDK 7600.16385.0 the default build env when using winof\buildrelease.bat to build a release; only affects builds using buildrelease.bat script.

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

14 years ago[WinOF] Oops...used Wix 3.0 Platform identifiers in Wix 2.0 environment. Use 'Intel...
stansmith [Thu, 17 Sep 2009 16:46:40 +0000 (16:46 +0000)]
[WinOF] Oops...used Wix 3.0 Platform identifiers in Wix 2.0 environment. Use 'Intel' instead of 'x86' until Wix 3.0 transition.

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

14 years ago[HW] fixes to APM support: missed some lines and apm_state was not converted into...
tzachid [Thu, 17 Sep 2009 16:43:18 +0000 (16:43 +0000)]
[HW] fixes to APM support: missed some lines and apm_state was not converted into low-driver format
Signed off by: leonid@mellanox.co.il

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

14 years agoibacm: IB ACM service initial check-in
shefty [Thu, 17 Sep 2009 07:20:45 +0000 (07:20 +0000)]
ibacm: IB ACM service initial check-in

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

14 years ago[WinOF] Identify platform processor architecture [32/64 bit] for which the installer...
stansmith [Wed, 16 Sep 2009 21:54:33 +0000 (21:54 +0000)]
[WinOF] Identify platform processor architecture [32/64 bit] for which the installer is targeted.  Use the new include file WinOF\Wix\common\UserInterface.inc to define the WIX UI for all installer variants.

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

14 years ago[WinOF] reduce Wix installer (.msi file generation) complexity & redundancy by moving...
stansmith [Wed, 16 Sep 2009 21:45:05 +0000 (21:45 +0000)]
[WinOF] reduce Wix installer (.msi file generation) complexity & redundancy by moving bulk of Makefile to a parameterized WinOF\Wix\common\Makefile.inc

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

14 years ago[IBAL] use non-pageable memory to prevent possible problems on power down.
stansmith [Wed, 16 Sep 2009 17:29:29 +0000 (17:29 +0000)]
[IBAL] use non-pageable memory to prevent possible problems on power down.
IBAL uses pageable memory to create PnP context. It can create possible problems in power down flows at the time of system contention. We saw a similar case at a customer. There is no strong evidence that this is what influenced, but with this patch IBAL will be more safe and at no cost. WinOF 2.1 testing has demonstrated that with this patch, infrequent (1 out of 10) power-down BSOD have disappeared.

Found by Hobin Lee (Xsigo), signed off by Leo.

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

14 years ago[IBAL] use non-pageable memory to prevent possible problems on power down. [mlnx...
leonidk [Wed, 16 Sep 2009 16:16:08 +0000 (16:16 +0000)]
[IBAL] use non-pageable memory to prevent possible problems on power down. [mlnx: 4809]

Suggested by Hobin Lee (Xsigo)

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

14 years ago[WinOF] remove redundant 'root' folder specifications as TARGETDIR is the %SysVolume...
stansmith [Tue, 15 Sep 2009 23:40:42 +0000 (23:40 +0000)]
[WinOF] remove redundant 'root' folder specifications as TARGETDIR is the %SysVolume% 'root' (aka 'slash'). Identify 64-bit installers along with installing WinOF into ProgramFiles64 folder which == ProgramFiles; install WinOF in the same folder for all architectures.

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

14 years ago[WinOF] reflect WinOF is no longer installed in %ProgramFiles(x86)% on 64-bit archite...
stansmith [Tue, 15 Sep 2009 23:34:20 +0000 (23:34 +0000)]
[WinOF] reflect WinOF is no longer installed in %ProgramFiles(x86)% on 64-bit architectures, use %ProgramFiles% for all.

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

14 years ago[WinOF] Reflect WinOF installs into %ProgramFiles%. Use signature from from new OFA...
stansmith [Tue, 15 Sep 2009 23:30:50 +0000 (23:30 +0000)]
[WinOF] Reflect WinOF installs into %ProgramFiles%. Use signature from from new OFA digital-ID certificate.

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

14 years ago[WinOF/DAPL2] reflect WinOF now installs into %ProgramFiles% on all systems, not...
stansmith [Tue, 15 Sep 2009 23:28:24 +0000 (23:28 +0000)]
[WinOF/DAPL2] reflect WinOF now installs into %ProgramFiles% on all systems, not %ProgramFiles(x86)%.
Move Dat/Dapl 1.1 providers to the end of the list for those MPIs which use the 1st available provider; ends up defaulting to DAT/DAPL V2.0. Thus begins the phasing out of DAT/DAPL 1.1 support.

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

14 years ago[WinOF] Streamline driver uninstall and cleanup to play nicely with MSFT PNP; believe...
stansmith [Tue, 15 Sep 2009 23:25:25 +0000 (23:25 +0000)]
[WinOF] Streamline driver uninstall and cleanup to play nicely with MSFT PNP; believe PNP will cleanup .inf referenced files when device references have reached zero (shutdown ND & WSD services prior to PNP device removal).

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

14 years ago[WinOF] Place librdmacm.dll in %windir% folder along with the rest of the WinOF libs...
stansmith [Tue, 15 Sep 2009 23:19:33 +0000 (23:19 +0000)]
[WinOF] Place librdmacm.dll in %windir% folder along with the rest of the WinOF libs. Review folder usage to consider using system32/syswow64 at a later date.

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

14 years ago[WinOF] Include Trusted Publishers certificate feature in Windows-7 x64 (aka Server...
stansmith [Tue, 15 Sep 2009 23:17:23 +0000 (23:17 +0000)]
[WinOF] Include Trusted Publishers certificate feature in Windows-7 x64 (aka Server 2008 R2).

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

14 years ago[WinOF] do not force OpenSM service to be 32-bit
stansmith [Tue, 15 Sep 2009 23:15:50 +0000 (23:15 +0000)]
[WinOF] do not force OpenSM service to be 32-bit

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

14 years ago[WinOF] remove correct WinOF shortcut folder & rename WinOF start menu Command link...
stansmith [Tue, 15 Sep 2009 23:14:27 +0000 (23:14 +0000)]
[WinOF] remove correct WinOF shortcut folder & rename WinOF start menu Command link to 'WinOF Command' so as not to confuse the Svr 2008 start menu auto include entries.

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

14 years ago[WinOF] Streamline WinOF uninstall such that is plays nicely with MFST PNP.
stansmith [Tue, 15 Sep 2009 23:07:05 +0000 (23:07 +0000)]
[WinOF] Streamline WinOF uninstall such that is plays nicely with MFST PNP.
1) allow PNP to remove .inf referenced files and cleanup driver store.
2) shutdown ND & WSD prior to PNP device removal.
3) remove stale code which checks for OpenIB installs and forces a reboot

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

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