Arlin Davis [Fri, 16 Jan 2009 16:31:13 +0000 (08:31 -0800)]
dapl scm: remove unecessary thread when using direct objects
A thread is created for processing events on devices without
direct event objecti support. Since all openfabrics devices support
direct events there is no need to start a thread. Move this under
Signed-off-by: Arlin Davis <ardavis@ichips.intel.com>
Arlin Davis [Mon, 27 Oct 2008 16:48:39 +0000 (08:48 -0800)]
dapltest: transaction test moves to cleanup stage before rdma_read processing is complete
With multiple treads, the transaction server tread can move to cleanup
stage and unregister memory before the remote client process has
completed the rdma read. In lieu of a rewrite to add sync messages
at the end of transaction test phase, just add a delay before cleanup.
Signed-off-by: Arlin Davis <ardavis@ichips.intel.com>
Arlin Davis [Wed, 24 Sep 2008 15:33:53 +0000 (08:33 -0700)]
build: $(DESTDIR) prepend needed on install hooks for dat.conf
All install directives that automake creates automatically
have $(DESTDIR) prepended to them so that a make
DESTDIR=<some_path> install will work. The hand written
install hooks for dat.conf was missing DESTDIR.
Arlin Davis [Mon, 4 Aug 2008 21:13:58 +0000 (14:13 -0700)]
dapl scm: change connect and accept to non-blocking to avoid blocking user thread.
The connect socket that is used to exchange QP information is now non-blocking
and the data exchange is done via the cr thread. New state RTU_PENDING added.
On the passive side there is a new state ACCEPT_DATA used to avoid read blocking
on the user accept call.
Signed-off by: Arlin Davis ardavis@ichips.intel.com
Arlin Davis [Thu, 19 Jun 2008 20:30:18 +0000 (13:30 -0700)]
dapl scm: fix ibv_destroy_cq busy error condition during dat_evd_free.
Problem surfaced while running Intel MPI 3.1 and mpich2-test suite.
dapli_destroy_cm was incorrectly removing reference to qp_handle in endpoint
and destroy_cq and destroy_pd code was ignoring verbs errors.
Signed-off by: Arlin Davis ardavis@ichips.intel.com
Arlin Davis [Tue, 10 Jun 2008 15:55:30 +0000 (08:55 -0700)]
dapl: endpoint pending request count is wrong
The code assumes every cookie allocated during posting of
requests gets completed. This incorrect assumption results in
wrong pending count. Remove request_pending field and replace
with direct call, dapl_cb_pending, to provide accurate
data to consumer.
Add debug print if consumer overruns request queue.
Signed-off by: Arlin Davis ardavis@ichips.intel.com
Arlin Davis [Mon, 12 May 2008 17:00:07 +0000 (10:00 -0700)]
dapl: Fix long delays with the cma provider open call when DNS is not configured on server.
Open call should default to netdev names when resolving local IP address for cma binding to match dat.conf settings. The open code attempts to resolve with IP or Hostname first and if there is no DNS services setup the failover to netdev name resolution is delayed for as much as 20 seconds.
Signed-off by: Arlin Davis ardavis@ichips.intel.com
Arlin Davis [Thu, 24 Apr 2008 18:50:00 +0000 (11:50 -0700)]
dapltest: does not include definitions for inet_ntoa.
At load time the symbol was resolved but with the
default definition of int, instead of char*, it caused
segfault. Add correct include files in dapl_mdep_user.h
for linux.
Signed-off by: Arlin Davis <ardavis@ichips.intel.com>
Arlin Davis [Tue, 22 Apr 2008 19:55:27 +0000 (12:55 -0700)]
dapl: evd_alloc doesn't check for direct_object_create errors.
Fix error check in dapls_ib_wait_object_create() and dat_evd_alloc.
When attempting to create large number of evd's that exceed
open files limit the error was not propagated up causing
a segfault. Note: there are 3 FD's required for each EVD
2 for pipe, and one for cq event_channel.
Change the error reporting to indicate correct return
code and send to log with non-debug builds.
Signed-off by: Arlin Davis ardavis@ichips.intel.com
Arlin Davis [Mon, 14 Apr 2008 20:10:30 +0000 (13:10 -0700)]
dapl: change packaging to modify OFA provider contents of dat.conf instead of file replacement.
Change the packaging to update only the OFA provider contents in dat.conf. This allows other
dapl providers, other then OFA, to co-exist and configure properly. Adding manpage to explain
syntax of this static configuration file.
Signed-off by: Arlin Davis ardavis@ichips.intel.com
Arlin Davis [Wed, 9 Apr 2008 23:45:53 +0000 (16:45 -0700)]
dat/dapl: add support for logging errors in non-debug build.
Add debug logging (stdout, syslog) for error cases during
device open, cm, async, and dto operations. Default settings
are ERR for DAPL_DBG_TYPE, and stdout for DAPL_DBG_DEST.
Add logging by default if library load fails.
Signed-off by: Arlin Davis ardavis@ichips.intel.com
Arlin Davis [Tue, 18 Mar 2008 23:11:07 +0000 (15:11 -0800)]
remove unnecessary assert from dapl_ep_free.
dat_ep_free must handle the case where a consumer calls
free in CONNECTED or DISCONNECT_PENDING states. After
free calls disconnect, there may be a pending event,
in which case the providers dapls_ib_qp_free will block
accordingly and handle pending events.
Signed-off by: Arlin Davis ardavis@ichips.intel.com
Arlin Davis [Mon, 11 Feb 2008 22:50:51 +0000 (14:50 -0800)]
The OFA dapl provider is checking for incorrect return code
from rdma_bind_addr and rdma_listen calls. This causes an error
to be returned back to the consumer instead of correctly
incrementing the seed port and re-calling the OFA provider
until a valid port is issued. The seed value (1000) is also
incorrect and should start a non-privledged port (1024) to
avoid EPERM errors when seeding the starting port value.
Signed-off by: Arlin Davis <ardavis@ichips.intel.com>
Arlin Davis [Tue, 16 Oct 2007 21:10:52 +0000 (14:10 -0700)]
Use inet_ntoa instead of open coding it. IP addresses were being
reversed on PowerPC.
On PowerPC the timebase ticks at a different frequency to the CPU.
dapltest currently assumes a 1:1 relationship, and gives bogus values
when scaling timebase to real time.
To fix this, look at the timebase field in /proc/cpuinfo instead. To
keep things consistent with x86, scale that value to MHz.