]> git.openfabrics.org - ~ardavis/dapl.git/log
~ardavis/dapl.git
12 years agocommon: add DAPL_DBG_TYPE_CM_STATS (0x40000) to debug log options
Arlin Davis [Mon, 30 Jan 2012 18:09:42 +0000 (10:09 -0800)]
common: add DAPL_DBG_TYPE_CM_STATS (0x40000) to debug log options

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agocommon: dapls_ep_flush_cq will segfault when no CQ is attached to EP
Arlin Davis [Wed, 25 Jan 2012 19:54:29 +0000 (11:54 -0800)]
common: dapls_ep_flush_cq will segfault when no CQ is attached to EP

add check for NULL request/receive EVD (cq) before flushing.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agocommon: ep_create should allow max_request_iov attribute setting of zero
Arlin Davis [Wed, 25 Jan 2012 19:50:21 +0000 (11:50 -0800)]
common: ep_create should allow max_request_iov attribute setting of zero

When creating an EP without a request EVD (cq) the max_request_iov
and max_request_sge will be 0. Allow this combination when checking
attribute settings for ARG6.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agocommon: add check for NULL handle on ext calls, SRQ free, and helper functions
Arlin Davis [Wed, 18 Jan 2012 23:47:12 +0000 (15:47 -0800)]
common: add check for NULL handle on ext calls, SRQ free, and helper functions

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agocommon: add missing sub-types to dat_strerror()
Arlin Davis [Fri, 13 Jan 2012 20:01:26 +0000 (12:01 -0800)]
common: add missing sub-types to dat_strerror()

"unknown minor error" string returned with valid sub types.
Update function for sub-type error codes in dat_error.h.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agocommon: extended CR event processing missing rejects on errors
Arlin Davis [Thu, 12 Jan 2012 17:54:59 +0000 (09:54 -0800)]
common: extended CR event processing missing rejects on errors

When processing an inbound CR event callback a non-user reject should be
sent to client in the case of a non-listening SP, allocation error,
or EVD overrun. Changes made to dapls_evd_post_cr_event_ext callback.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agoucm: incorrectly sends user reject during CR callback errors
Arlin Davis [Thu, 12 Jan 2012 17:39:46 +0000 (09:39 -0800)]
ucm: incorrectly sends user reject during CR callback errors

Add reason checking on provider rejects and set appropriate op type
in reject message. Reject can be called from cr callback during
failures. User reject will be IB_CM_REJ_REASON_CONSUMER_REJ.
Add warning message on active side.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agocommon: change dbg level on CR callback if not listening on SP
Arlin Davis [Tue, 10 Jan 2012 23:42:24 +0000 (15:42 -0800)]
common: change dbg level on CR callback if not listening on SP

Change from from CM to CM_WARN level and include in non-debug build.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agoscm: incorrectly sends user reject during CR callback errors
Arlin Davis [Mon, 9 Jan 2012 23:03:21 +0000 (15:03 -0800)]
scm: incorrectly sends user reject during CR callback errors

Add reason checking on provider rejects and set appropriate op type
in reject message. Reject can be called from cr callback during
failures. User reject will be IB_CM_REJ_REASON_CONSUMER_REJ.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agodat: add check for NULL handle on IA calls
Arlin Davis [Mon, 9 Jan 2012 18:29:26 +0000 (10:29 -0800)]
dat: add check for NULL handle on IA calls

check added to dats_get_ia_handle()

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agocma,scm,ucm: extra reference on EP, with RSP, causes dat_ep_free() to hang
Arlin Davis [Thu, 8 Dec 2011 00:39:55 +0000 (16:39 -0800)]
cma,scm,ucm: extra reference on EP, with RSP, causes dat_ep_free() to hang

Need to add check for RSP or PSP provider type service points during
passive side accepts before taking CR reference on the EP. In these
cases, the EP is already linked to inbound CR.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agocommon: RSP service points incorrectly freed during CR callback
Arlin Davis [Thu, 8 Dec 2011 00:34:17 +0000 (16:34 -0800)]
common: RSP service points incorrectly freed during CR callback

The RSP service point is being removed because of improper
state/flag checking during CR callback. Add state check
for DAPL_SP_STATE_RSP_LISTENING.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agocommon: clean up dat_rsp_create log message
Arlin Davis [Fri, 2 Dec 2011 23:45:30 +0000 (15:45 -0800)]
common: clean up dat_rsp_create log message

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agocommon: cleanup debug message on EVD overflows
Arlin Davis [Fri, 2 Dec 2011 23:44:04 +0000 (15:44 -0800)]
common: cleanup debug message on EVD overflows

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agoscm: return correct event error code when remote host refuses requests
Arlin Davis [Fri, 2 Dec 2011 23:31:09 +0000 (15:31 -0800)]
scm: return correct event error code when remote host refuses requests

changed from TIMEOUT to NON_PEER_REJECTED

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agodapltest: server CR EVD is too small for multi-client configurations.
Arlin Davis [Fri, 2 Dec 2011 23:29:08 +0000 (15:29 -0800)]
dapltest: server CR EVD is too small for multi-client configurations.

Increase default size from 8 to 32.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agoCommon: CR EVD overflow causes segfault.
Arlin Davis [Fri, 2 Dec 2011 23:28:31 +0000 (15:28 -0800)]
Common: CR EVD overflow causes segfault.

The CR is freed up incorrectly before unlinking with SP.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agoRelease 2.0.34 dapl-2.0.34-1 ofed_1.5.4
Arlin Davis [Wed, 2 Nov 2011 23:36:22 +0000 (16:36 -0700)]
Release 2.0.34

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agoscm: change debug message level for listen/bind errors
Arlin Davis [Wed, 2 Nov 2011 17:40:02 +0000 (10:40 -0700)]
scm: change debug message level for listen/bind errors

reduce to CM_WARN instead of general WARN level.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agocommon: increase default IB ack timer from 16 to 20
Arlin Davis [Wed, 2 Nov 2011 17:29:34 +0000 (10:29 -0700)]
common: increase default IB ack timer from 16 to 20

For larger, more congested fabrics, a larger ACK timer is needed.
Consumers can still change default with environment variable
DAPL_ACK_TIMER if they need to increase or decrease.

This applies to SCM and UCM providers only. The CMA provider, which
uses rdma_cm, has no way to control ack timer with current API.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agocommon: remote ia address null pointer creates seg fault
Arlin Davis [Tue, 1 Nov 2011 20:44:24 +0000 (13:44 -0700)]
common: remote ia address null pointer creates seg fault

add NULL ptr check and return DAT_INVALID_PARAMETER, DAT_INVALID_ARG2

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agocommon: posting events on full queue returns wrong error code
Arlin Davis [Tue, 1 Nov 2011 19:40:21 +0000 (12:40 -0700)]
common: posting events on full queue returns wrong error code

Return DAT_QUEUE_FULL instead of DAT_INSUFFICIENT_RESOURCES

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agocommon: dat_ep_modify seg faults with null ep_param ptr
Arlin Davis [Tue, 1 Nov 2011 18:43:55 +0000 (11:43 -0700)]
common: dat_ep_modify seg faults with null ep_param ptr

add additional NULL ptr check for arg3 ep_param

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agocommon: dat_evd_free seg faults with resized software EVD
Arlin Davis [Fri, 28 Oct 2011 19:27:16 +0000 (12:27 -0700)]
common: dat_evd_free seg faults with resized software EVD

dapl_evd_resize is attempting to resize a CQ but there is no
CQ attached to a software EVD. Add check for cq_handle
before resizing.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agocommon: remove assert for incorrect events during cm_request
Arlin Davis [Fri, 28 Oct 2011 17:23:51 +0000 (10:23 -0700)]
common: remove assert for incorrect events during cm_request

Simply print a warning message. Connection callback doesn't
forward invalid events to consumer so no need to assert.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agodat: dat_cno_query with NULL cno_handle causes segmentation fault
Arlin Davis [Wed, 26 Oct 2011 23:02:56 +0000 (16:02 -0700)]
dat: dat_cno_query with NULL cno_handle causes segmentation fault

add check for NULL handle in dat library

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agoscm: dat_psp_create returns wrong error code on bind/listen failure
Arlin Davis [Wed, 26 Oct 2011 20:03:50 +0000 (13:03 -0700)]
scm: dat_psp_create returns wrong error code on bind/listen failure

The SCM provider changed to return DAT_INVALID_PARAMTER instead of
incorrect DAT_CONN_QUAL_UNAVAILABLE error code on any bind or
listen failure.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agoscm: socket connect request count is reset improperly on retry
Arlin Davis [Wed, 26 Oct 2011 16:12:10 +0000 (09:12 -0700)]
scm: socket connect request count is reset improperly on retry

Include the current retry count with the new connect request call
and set according after creating the new cm object.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agoscm: when hostname has loopback addr assigned, default to eth0 instead of failing
Arlin Davis [Mon, 24 Oct 2011 20:59:55 +0000 (13:59 -0700)]
scm: when hostname has loopback addr assigned, default to eth0 instead of failing

There are some cases where the eth0 device is configured with an IP address
but the getaddrinfo() will only return loopback address because the
hostname is configured in the /etc/hosts file with 127.0.0.1. In this case,
the provider will now retry address on eth0 before failing the open.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agoscm: add port number to error log during hca_open failures
Arlin Davis [Mon, 24 Oct 2011 20:57:01 +0000 (13:57 -0700)]
scm: add port number to error log during hca_open failures

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agocommon: query calls return incorrect IA handle to consumer
Arlin Davis [Mon, 24 Oct 2011 20:40:45 +0000 (13:40 -0700)]
common: query calls return incorrect IA handle to consumer

The IA handle from the consumer perspective is an IA vector and
not the provider IA address handle. Need to convert IA handle
to IA vector for consumer calls.

Modify dats_ia_get_handle call to convert both ways depending
on handle type provided so a dapl provider can convert to vector
on query calls. This fix is backward compatible with older libdat2
libraries. Function is already exported and syntax is unchanged.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agocommon: srq create asserts with !dapl_llist_is_empty(head) failed
Arlin Davis [Thu, 22 Sep 2011 20:42:15 +0000 (13:42 -0700)]
common: srq create asserts with !dapl_llist_is_empty(head) failed

return DAT_NOT_IMPLEMENTED before allocating any resources
until there is a provider that supports SRQ's.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agoRelease 2.0.33 dapl-2.0.33-1 list
Arlin Davis [Mon, 29 Aug 2011 19:31:38 +0000 (12:31 -0700)]
Release 2.0.33

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agoscm,ucm: fix compatibility issues and set minimum protocol support
Arlin Davis [Mon, 29 Aug 2011 02:10:37 +0000 (19:10 -0700)]
scm,ucm: fix compatibility issues and set minimum protocol support

allow latest version to work with previous versions to allow
compatibility back to OFED 1.5, dapl-2.0.23. If rdma_atomic_in
is not exchanged default back to original settings set by
consumer.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agobuild: link librdmacm dependency to ib_acm usage for ucm and scm providers
Arlin Davis [Fri, 19 Aug 2011 20:19:38 +0000 (13:19 -0700)]
build: link librdmacm dependency to ib_acm usage for ucm and scm providers

Add -lrdmacm to XLIBS for ucm and scm providers. Only set with
conditional use of ib_acm as defined by DAPL_USE_IBACM.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agobuild: add selective enable/disable-xxx build switch for each provider
Arlin Davis [Fri, 19 Aug 2011 19:40:24 +0000 (12:40 -0700)]
build: add selective enable/disable-xxx build switch for each provider

The following switches have been added to configure:

--disable-cma (disables the rdma_cm dapl provider build)
--disable-scm (disables the socket cm provider build)
--disable-ucm (disables the IB UD cm provider build)

all providers are enabled by default.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agobuild: add extended header files to EXTRA_DIST and fix missing backslash
Arlin Davis [Fri, 19 Aug 2011 17:24:32 +0000 (10:24 -0700)]
build: add extended header files to EXTRA_DIST and fix missing backslash

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agobuild: set IB extended coll-type to none by default
Arlin Davis [Fri, 19 Aug 2011 17:23:42 +0000 (10:23 -0700)]
build: set IB extended coll-type to none by default

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agocommon: change errno mapping of EINVAL to DAT_INVALID_PARAMETER
Arlin Davis [Mon, 8 Aug 2011 06:02:54 +0000 (23:02 -0700)]
common: change errno mapping of EINVAL to DAT_INVALID_PARAMETER

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agobuild: add IB collective and FCA provider to dapl build package as an option
Arlin Davis [Mon, 8 Aug 2011 05:59:27 +0000 (22:59 -0700)]
build: add IB collective and FCA provider to dapl build package as an option

New collective support and the FCA provider will only be built with
configure option of "--enable-coll-type=fca". Dependencies include
fca devel package, fca library, and mverbs library. This will not
be included in default builds.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agocommon: add new dapls_evd_post_event_ext call for extended events
Arlin Davis [Mon, 8 Aug 2011 05:54:36 +0000 (22:54 -0700)]
common: add new dapls_evd_post_event_ext call for extended events

Add prototype and code to post extended events on dispatcher and
include collective definitions to dat_event_str function.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agoucm: add support for IB collective providers
Arlin Davis [Mon, 8 Aug 2011 05:53:45 +0000 (22:53 -0700)]
ucm: add support for IB collective providers

Add collective member address and threading information
on a per transport basis. Call create/free service with
HCA open/close.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agoscm: add support for IB collective providers
Arlin Davis [Mon, 8 Aug 2011 05:53:09 +0000 (22:53 -0700)]
scm: add support for IB collective providers

Add collective member address and threading information
on a per transport basis. Call create/free service with
HCA open/close.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agocma: add support for IB collective providers
Arlin Davis [Mon, 8 Aug 2011 05:47:21 +0000 (22:47 -0700)]
cma: add support for IB collective providers

Add collective member address and threading information
on a per transport basis. Call create/free service with
HCA open/close.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agocommon: add supported collective types in named attributes for query
Arlin Davis [Mon, 8 Aug 2011 05:45:04 +0000 (22:45 -0700)]
common: add supported collective types in named attributes for query

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agocommon: add collective call mappings via standard dapli_post_ext()
Arlin Davis [Mon, 8 Aug 2011 05:41:48 +0000 (22:41 -0700)]
common: add collective call mappings via standard dapli_post_ext()

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agocommon: new debug bitmask definition for extension logging
Arlin Davis [Mon, 8 Aug 2011 05:39:32 +0000 (22:39 -0700)]
common: new debug bitmask definition for extension logging

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agocommon: new IB collective provider for Mellanox Fabric Collective Agent
Arlin Davis [Wed, 17 Aug 2011 17:29:01 +0000 (10:29 -0700)]
common: new IB collective provider for Mellanox Fabric Collective Agent

Support for bcast, barrier, reduce, allreduce, allgather, allgatherv

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
12 years agodat: add definitions for MPI offloaded collectives in IB transport extensions
Arlin Davis [Mon, 8 Aug 2011 05:06:09 +0000 (22:06 -0700)]
dat: add definitions for MPI offloaded collectives in IB transport extensions

The collective extensions are designed to support MPI and general
multicast operations over IB fabrics that support offloaded collectives.
Where feasible, they come as close to MPI semantics as possible.
Unless otherwise stated, all members participating in a data collective
operation must call the associated collective routine for the data
transfer operation to complete. Unless otherwise stated, the
root collective member of a data operation will receive its own portion
of the collective data. In most cases, the root member can prevent
sending/receiving data when such operations would be redundant. When root
data is already "in place" the root member may set the send and/or receive
buffer pointer argument to NULL.

Unlike standard DAPL movement operations that require registered
memory and LMR objects, collective data movement operations employ
pointers to user-virtual address space that do not require
pre-registration by the application. From a resource usage point
of view, the API user should consider that the provider implementation
my perform memory registrations/deregistration on behalf of the
application to accomplish a data transfer.

Most collective calls are asynchronous. Upon completion, an event
will be posted to the EVD specified when the collective was created.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
13 years agocommon: cleanup debug messages when building with ibacm feature
sean.hefty@intel.com [Wed, 22 Jun 2011 17:40:17 +0000 (10:40 -0700)]
common: cleanup debug messages when building with ibacm feature

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
13 years agoRelease 2.0.32 dapl-2.0.32-1 ofed_1.5.3
Arlin Davis [Mon, 14 Feb 2011 05:14:33 +0000 (21:14 -0800)]
Release 2.0.32

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
13 years agocma: reduce output log level in disconnect from WARN to CM_WARN
Arlin Davis [Sat, 12 Feb 2011 20:03:19 +0000 (12:03 -0800)]
cma: reduce output log level in disconnect from WARN to CM_WARN

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
13 years agoucm: delay freeing of active side UD cm object in case RTU is dropped
Arlin Davis [Sat, 12 Feb 2011 19:46:08 +0000 (11:46 -0800)]
ucm: delay freeing of active side UD cm object in case RTU is dropped

The ucm was freeing the UD CM object to quickly so a retried REPLY
was dropped and the passive side never received the AH info via RTU.
Keep active side UD cm objects on work queue until QP is destroyed
so RTU can be resent if necessary.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
13 years agoucm: cm object needs to be on work queue before req sent on wire
Arlin Davis [Sat, 12 Feb 2011 19:36:35 +0000 (11:36 -0800)]
ucm: cm object needs to be on work queue before req sent on wire

With this delay in cm object queuing there is potential for replies
being dropped coming back with a NO MATCH. Start with INIT
state and queue it up, move to state REP_PENDING when
sending out on the wire to start request timer.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
13 years agoucm, scm: remove use of usec_sleep delays and use events for disc and destroy
Arlin Davis [Fri, 4 Feb 2011 22:41:45 +0000 (14:41 -0800)]
ucm, scm: remove use of usec_sleep delays and use events for disc and destroy

use pthread mutex when processing and waiting for disconnect completions
and for CM object destruction. Add f_event, d_event to cm object.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
13 years agocommon: reduce default max inline data size because of performance anomaly
Arlin Davis [Fri, 21 Jan 2011 02:31:30 +0000 (18:31 -0800)]
common: reduce default max inline data size because of performance anomaly

Increasing max inline causes small message rates to decrease from
4M/sec when set to 64 to about 1M/sec when set to 400. This has
been observed on latest mlx4 adapters. Set default to 64 until resolved.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
13 years agocommon: dapls_evd_dto_wait() dbg message should print status and not errno
Arlin Davis [Thu, 20 Jan 2011 19:05:02 +0000 (11:05 -0800)]
common: dapls_evd_dto_wait() dbg message should print status and not errno

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
13 years agoucm, scm: exchange max_qp_rd_atom and limit outstanding requests
Arlin Davis [Mon, 17 Jan 2011 22:43:58 +0000 (14:43 -0800)]
ucm, scm: exchange max_qp_rd_atom and limit outstanding requests

exchange and add proper checking to limit outstanding
rdma reads and atomics. Use one of the reserve bytes
in CM message protocol to exchange limits and reset
EP attribute rdma_out and set QP RTS attribute properly.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
13 years agoscm: retry socket connect on ECONNREFUSED under heavy load
Arlin Davis [Wed, 5 Jan 2011 04:22:12 +0000 (20:22 -0800)]
scm: retry socket connect on ECONNREFUSED under heavy load

with large scale workloads a linux server starts rejecting
socket connect requests. Add retry logic for connection refused
errors.

increasing net.ipv4.tcp_max_syn_backlog to 2048 will also reduce the
chance of these errors when scaling up.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
13 years agocommon: qp modify RTR using wrong ep attribute parameter for dest_rd_atomic
Arlin Davis [Wed, 5 Jan 2011 00:25:29 +0000 (16:25 -0800)]
common: qp modify RTR using wrong ep attribute parameter for dest_rd_atomic

max_rdma_read_in should be used instead of max_rdma_read_out

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
13 years agoRelease 2.0.31 dapl-2.0.31-1
Arlin Davis [Fri, 10 Dec 2010 22:26:07 +0000 (14:26 -0800)]
Release 2.0.31

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
13 years agocommon: clean up build warning for unused variable event_ptr
Arlin Davis [Fri, 10 Dec 2010 22:19:45 +0000 (14:19 -0800)]
common: clean up build warning for unused variable event_ptr

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
13 years agoscm, ucm: set RAI_NOROUTE flag with rdma_getaddrinfo() call to avoid blocking.
Arlin Davis [Fri, 10 Dec 2010 21:49:47 +0000 (13:49 -0800)]
scm, ucm: set RAI_NOROUTE flag with rdma_getaddrinfo() call to avoid blocking.

if path is not returned, print warning message and use default SL.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
13 years agocma: definition for dapl_sp_remove_ep() is missing in cm.c
Arlin Davis [Fri, 10 Dec 2010 21:47:15 +0000 (13:47 -0800)]
cma: definition for dapl_sp_remove_ep() is missing in cm.c

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
13 years agolibdat: static provider entries created for local SR database not freed
Arlin Davis [Tue, 7 Dec 2010 00:06:47 +0000 (16:06 -0800)]
libdat: static provider entries created for local SR database not freed

During load (dat_sr_init) the SR database is created with all dat.conf entries
but are never cleaned up during unload. Add new functions dat_sr_remove_all()
and dat_sr_remove() calls to cleanup and deallocate SR database entries and
database via dat_sr_fini().

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
13 years agolibdat: memory leak in static registration during parsing
Arlin Davis [Tue, 7 Dec 2010 00:02:13 +0000 (16:02 -0800)]
libdat: memory leak in static registration during parsing

The platform_params char string, allocated when
parsing dat.conf, is not freed.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
13 years agocommon: increase default IB inline send threshold to 400
Arlin Davis [Sat, 4 Dec 2010 00:13:31 +0000 (16:13 -0800)]
common: increase default IB inline send threshold to 400

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
13 years agocommon cq: a mixup of errno and the -1 return from poll in dapls_wait_comp_channel
Pradeep Satyanarayana [Fri, 3 Dec 2010 23:52:55 +0000 (15:52 -0800)]
common cq: a mixup of errno and the -1 return from poll in dapls_wait_comp_channel

call should return errno and not status returned from poll.

Signed-off-by: Pradeep Satyanarayana <pradeeps@linux.vnet.ibm.com>
13 years agoucm: release UD cm objects after AH is exchanged to avoid duplicate request drops
Arlin Davis [Fri, 3 Dec 2010 22:56:21 +0000 (14:56 -0800)]
ucm: release UD cm objects after AH is exchanged to avoid duplicate request drops

When EP is in UD mode, AH resolution is handled with DAT connection semantics
connect and accept. Since AH info can be resolved for the same EPs you can
get false duplicate requests because a previous CR from is still on the
CM processing list. The CM object will remain on the EP free list and not
be freed until EP is destroyed given the possibilty of consumer accessing CR
private data buffer.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
13 years agoucm: decrease timeout retry count for disconnect requests
Arlin Davis [Fri, 3 Dec 2010 22:52:26 +0000 (14:52 -0800)]
ucm: decrease timeout retry count for disconnect requests

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
13 years agoucm: hold lock when sending cm_msgs to sync timer start with packet send
Arlin Davis [Fri, 3 Dec 2010 22:24:40 +0000 (14:24 -0800)]
ucm: hold lock when sending cm_msgs to sync timer start with packet send

releasing the lock after setting start timer and before
ucm_send could result in incorrect timeout on CM operations
if thread is scheduled out when releasing lock.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
13 years agoucm: add debugging to include process id for better scale up debug aids
Arlin Davis [Fri, 3 Dec 2010 22:02:25 +0000 (14:02 -0800)]
ucm: add debugging to include process id for better scale up debug aids

use part of the resv[] area of the cm_msg to include local and
remote process ids. Add more debug messages to help isolate
problems related to many process problems.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
13 years agocma: disconnect can block for excessive times waiting for rdma_cm DREP timeout
Arlin Davis [Fri, 3 Dec 2010 18:25:46 +0000 (10:25 -0800)]
cma: disconnect can block for excessive times waiting for rdma_cm DREP timeout

rdma_cm uses the same timeout values for connect and disconnect
request/reply. Disconnect abrupt option allows DAT consumers to
specify a prompt disconnect with immediate event. If the remote
node goes down or is non-responsive a CM disconnect event could
take minutes. Add a time limit waiting for event and move EP to
disconnected state to prevent callback from issuing duplicate
disconnect event via callback. The EP to CM linking will
cleanup/cancel any pending events before destroying cm_id.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
13 years agoucm: configure the recv channel FD to non-blocking
Arlin Davis [Tue, 16 Nov 2010 22:48:10 +0000 (14:48 -0800)]
ucm: configure the recv channel FD to non-blocking

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
13 years agowindows: Missing librdmacm include path for build
Stan Smith [Fri, 29 Oct 2010 17:11:41 +0000 (10:11 -0700)]
windows: Missing librdmacm include path for build

Signed-off-by: stan smith <stan.smith@intel.com>
13 years agodebug build: only timestamp if sending to stdout to avoid performance hit
Arlin Davis [Thu, 28 Oct 2010 18:12:33 +0000 (11:12 -0700)]
debug build: only timestamp if sending to stdout to avoid performance hit

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
13 years agocommon: print out errors on free build and not just debug builds
Arlin Davis [Thu, 28 Oct 2010 18:11:12 +0000 (11:11 -0700)]
common: print out errors on free build and not just debug builds

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
13 years agocma: fix debug build issue
Arlin Davis [Fri, 22 Oct 2010 18:58:19 +0000 (11:58 -0700)]
cma: fix debug build issue

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
13 years agoscm, ucm: MPI spawn test on oversubcribed server taking excessive time to complete
Arlin Davis [Fri, 22 Oct 2010 17:15:15 +0000 (10:15 -0700)]
scm, ucm: MPI spawn test on oversubcribed server taking excessive time to complete

Simultanious DREQ processing from user and CM thread caused some improper
state change on UCM. State change can incorrectly change from FREE back
to DISC in certain corner cases. Add checking on internal disconnect call
to prevent double callback events and improper state change.

For SCM, a remote DREQ will shutdown socket which will cause POLLERR
on the disconnected FD. This will in turn cause the cm_thread to
wakeup continuously unnecessarily. Fix thread thrashing by moving
CM object to FREE state and removing object FD from pollfd array.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
13 years agocommon: add high resolution time stamps and thread id to sdtout debug logs
Arlin Davis [Fri, 22 Oct 2010 17:04:21 +0000 (10:04 -0700)]
common: add high resolution time stamps and thread id to sdtout debug logs

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
13 years agocommon: modify debug in dat_evd_dequeue to reduce noise, only output on non-empty
ardavis [Fri, 22 Oct 2010 17:01:12 +0000 (10:01 -0700)]
common: modify debug in dat_evd_dequeue to reduce noise, only output on non-empty

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
13 years agocma: rdma_destroy_id called twice during device open bind error
sean.hefty@intel.com [Tue, 19 Oct 2010 20:54:42 +0000 (13:54 -0700)]
cma: rdma_destroy_id called twice during device open bind error

Signed-off-by: Pradeep Satyanarayana <pradeeps@linux.vnet.ibm.com>
13 years agocommon: dat_evd_dequeue (poll_cq) fails with invalid parameter after EP (qp) free
ardavis [Tue, 19 Oct 2010 16:52:45 +0000 (09:52 -0700)]
common: dat_evd_dequeue (poll_cq) fails  with invalid parameter after EP (qp) free

Failure occured during Intel MPI spawn test on windows.
The QP's need to be flushed and processed via EVD's during
the EP (QP) destroy to avoid an error on poll_cq. IBAL
provider was not moving to ERR state during QP destroy.

Better flush CQ processing was added and pushed down to the provider
level via dapls_ib_qp_free() where it can move QP to ERR, flush CQ,
and then free QP after flushing. Because there is no QP_ERR_FLUSH
state on a QP the spin on poll_cq (until empty) after modify_qp
to ERR could return empty and before all WQE's are flushed. This
could result in a CQE being added to CQ with a invalid QP reference.
So, an additional check was added to flush_evds for the recv_q to
poll_cq until all recv's pending are complete. For transmit_q there
is no quarantee that the posted work is signaled and so the best
that can be done is poll_cq until empty.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
13 years agoucm: allow configuration of CM burst (signal) threshold on posting
ardavis [Mon, 11 Oct 2010 19:24:31 +0000 (12:24 -0700)]
ucm: allow configuration of CM burst (signal) threshold on posting

Add new DAPL_UCM_TX_BURST environment variable, default=50.
Every 50 posted send messages will signal event which
is 10 percent blocks of default 500 message limit.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
13 years agocma: fix debug build
ardavis [Mon, 11 Oct 2010 19:23:50 +0000 (12:23 -0700)]
cma: fix debug build

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
13 years agowindows: debug version of windows does not build.
ardavis [Thu, 7 Oct 2010 21:29:21 +0000 (14:29 -0700)]
windows: debug version of windows does not build.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
13 years agoAllow DAPL out of band connection models to use ibacm to obtain
ardavis [Thu, 7 Oct 2010 18:14:03 +0000 (11:14 -0700)]
Allow DAPL out of band connection models to use ibacm to obtain
path record data.  This will enable support for a wider range of
topologies, where the SL is required from the SA to prevent
deadlock.

DAPL will obtain path record data using rdma_getaddrinfo, provided
that IB ACM support is enabled.  On failure, dapl will fall back to
using its default SL value.  The IB ACM can be configured to cache
path information or always query the SA to ensure that the SL that is
obtained is current.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
13 years agoucm: add missing map file for UCM provider
ardavis [Mon, 27 Sep 2010 18:12:08 +0000 (11:12 -0700)]
ucm: add missing map file for UCM provider

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
13 years agoibal: delay QP transition during disconnect phase
ardavis [Fri, 24 Sep 2010 17:47:30 +0000 (10:47 -0700)]
ibal: delay QP transition during disconnect phase

ibal provider calls ib_cm_drep in response to receiving
a dreq.  The result is that the user's QP is transitioned
through the error state, which fails any outstanding send
operations and flushes all receives.  The disconnect request
is then reported to the user.

Since a user can receive errors from the QP before they are
aware of a pending disconnect request, the application may
respond to the errors as, well, actual errors.  Fix this by
delaying the QP transition until the user responds to the
dreq.

This fixes an error with Intel MPI running over the ibal
dapl provider with a 'spawn' test.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
13 years agoRevert "ibal: delay QP transition during disconnect phase"
ardavis [Thu, 23 Sep 2010 20:50:05 +0000 (13:50 -0700)]
Revert "ibal: delay QP transition during disconnect phase"

This reverts commit 4eda455d9bc80c35743b3a2f6773e6c4a500affc.

13 years agoibal: delay QP transition during disconnect phase
Arlin Davis [Wed, 22 Sep 2010 17:35:24 +0000 (10:35 -0700)]
ibal: delay QP transition during disconnect phase

The ibal provider calls ib_cm_drep in response to receiving
a dreq.  The result is that the user's QP is transitioned
through the error state, which fails any outstanding send
operations and flushes all receives.  The disconnect request
is then reported to the user.

Since a user can receive errors from the QP before they are
aware of a pending disconnect request, the application may
respond to the errors as, well, actual errors.  Fix this by
delaying the QP transition until the user responds to the
dreq.

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

13 years agocommon: restructure EVD processing to handle EP destruction phase
Arlin Davis [Mon, 20 Sep 2010 17:42:41 +0000 (10:42 -0700)]
common: restructure EVD processing to handle EP destruction phase

EVD processing in the common code will return unformated events
if EP context is invalid as a result of destruction. During
EP destruction, add changes to flush EVD and process DTO completions
before the EP freeing is called. Simplified the locking in the
EVD code to eliminate the unecessary and very confusing condition
checking of evd_producer_locking_needed.

new dapls_ep_flush_cqs() call created to syncronize flush and
event processing.

unnecessary KDAPL code removed in the EVD processing.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
13 years agoibal: sync QP destruction and device close
Arlin Davis [Mon, 13 Sep 2010 23:19:44 +0000 (16:19 -0700)]
ibal: sync QP destruction and device close

Make QP destruction synchronous to ensure that no callbacks are
in progress for a QP after dapl has destroyed it.  This fixes a
use after free error accessing the dapl ep structure from a qp
callback that results in an application crash.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
13 years agoucm: remove unnecessary debug warning in async callback
Arlin Davis [Mon, 13 Sep 2010 22:06:42 +0000 (15:06 -0700)]
ucm: remove unnecessary debug warning in async callback

The switch() cases print when necessary.

signed-off-by: stan smith <stan.smith@intel.com>

13 years agoRelease 2.0.30 dapl-2.0.30-1 ofed_1.5.2_v2
Arlin Davis [Mon, 9 Aug 2010 21:28:20 +0000 (14:28 -0700)]
Release 2.0.30

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
13 years agocommon: increase default logging to include warnings
Arlin Davis [Mon, 9 Aug 2010 21:25:09 +0000 (14:25 -0700)]
common: increase default logging to include warnings

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
13 years agocommon: add more debug levels for cm logging
Arlin Davis [Mon, 9 Aug 2010 21:19:50 +0000 (14:19 -0700)]
common: add more debug levels for cm logging

DAPL_DBG_TYPE_CM_EST   = 0x8000,
DAPL_DBG_TYPE_CM_WARN  = 0x10000

Add level for connection establishment and events
and for retries/timer events.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
13 years agocommon: cleanup CR linkings after DTO error on EP
Arlin Davis [Mon, 2 Aug 2010 16:51:30 +0000 (09:51 -0700)]
common: cleanup CR linkings after DTO error on EP

Add cleanup to remove CR from SP and EP
during DTO errors in dapli_evd_cqe_to_event.

dapl_sp_remove_ep needs to remove cr_ptr
reference from EP before freeing cr object.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
13 years agoucm: cleanup CM debug warning messages
Arlin Davis [Mon, 2 Aug 2010 16:49:23 +0000 (09:49 -0700)]
ucm: cleanup CM debug warning messages

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
13 years agoscm, ucm: improperly handles pkey check/query in host order
Arlin Davis [Fri, 23 Jul 2010 22:17:53 +0000 (15:17 -0700)]
scm, ucm: improperly handles pkey check/query in host order

Convert consumer input to network order before verbs
query pkey check.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>