]> git.openfabrics.org - ~ardavis/dapl.git/log
~ardavis/dapl.git
9 years agoscm: remove use of msg.resv field for process id logging
Arlin Davis [Fri, 22 May 2015 16:52:31 +0000 (09:52 -0700)]
scm: remove use of msg.resv field for process id logging

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agocma: report correct CM req private data size on query
Arlin Davis [Fri, 22 May 2015 16:51:04 +0000 (09:51 -0700)]
cma: report correct CM req private data size on query

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agompxyd: memset ib_wr structure before post_send on WC and WR requests
Arlin Davis [Wed, 20 May 2015 18:56:24 +0000 (11:56 -0700)]
mpxyd: memset ib_wr structure before post_send on WC and WR requests

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agomcm: add HST side provider support for device without inline data capability
Arlin Davis [Wed, 20 May 2015 18:43:03 +0000 (11:43 -0700)]
mcm: add HST side provider support for device without inline data capability

Add registered WR buffers for HST->MXS (proxy in) mode
when inline data is not supported by device. Use registered
memory for source WR buffer instead of stack when sending
RDMA write request to peer proxy-in service.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agoucm: CM changes for UD extended port space and indexer
Arlin Davis [Mon, 18 May 2015 21:51:08 +0000 (14:51 -0700)]
ucm: CM changes for UD extended port space and indexer

Tested on 1200n 28ppn cluster, AlltoAll Intel MPI, UD mode.
Both static and dynamic modes, over 500m connections.

Change port manager to indexer and service ID manager
to bitarray indexer. Reduces footprint for service IDs
and allow direct lookup on CM messages.

New insert, remove, lookup functions for processing ID
based CM objects. Inbound requests, with the exception
of new CM requests, will no longer parse list but
use hash table lookups.

AH caching is now used to prevent unnecessarily
creating multiple AH's for same QP destination.

Add 24-bit port space support to CM processing code and
to wire protocol via DCM message reserve space.
Add version check to limit to 16-bit for backward compatibility.

Bump CM protocol version to 8 for xport and rtns fields.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agoucm: add device support for new port space hash table
Arlin Davis [Mon, 18 May 2015 21:36:28 +0000 (14:36 -0700)]
ucm: add device support for new port space hash table

Allocate port space hash table during device open
when creating CM services. Default settings are set
to 4K entry chunks and 256K total port slots.

Add environment variables for adjustments

DAPL_UCM_ENTRY_BITS 11
DAPL_UCM_ARRAY_BITS 18

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agoucm: allocate/free AH hash table for UD endpoint types
Arlin Davis [Mon, 18 May 2015 21:34:57 +0000 (14:34 -0700)]
ucm: allocate/free AH hash table for UD endpoint types

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agoucm: check for AH caching when destroying via UD extension
Arlin Davis [Mon, 18 May 2015 21:31:57 +0000 (14:31 -0700)]
ucm: check for AH caching when destroying via UD extension

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agoucm: optimizations for large scale UD communication management
Arlin Davis [Mon, 18 May 2015 21:21:07 +0000 (14:21 -0700)]
ucm: optimizations for large scale UD communication management

AH caching per QP, AH space set to 48K for LID unicast
Bump port space up to 24 bits
Reduce CM object and reduce private data to 68 bytes
Add xport space and rtns to DCM reserve fields.

New indexer macros for port space hash table management

Add hash table storage to ibtrans device objects

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agompxyd: use wr opcode instead of wc opcode to support logging on error cases
Arlin Davis [Fri, 15 May 2015 22:51:31 +0000 (15:51 -0700)]
mpxyd: use wr opcode instead of wc opcode to support logging on error cases

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agomcm: HST->MXS mode, using RDMA_WRITE_WITH_IMM, fails with dtest -w
Arlin Davis [Fri, 15 May 2015 22:47:38 +0000 (15:47 -0700)]
mcm: HST->MXS mode, using RDMA_WRITE_WITH_IMM, fails with dtest -w

Host side incorrectly sets opcode to IBV_WR_RDMA_WRITE_WITH_IMM on every segment
instead of just the last segment.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agodapl: aarch64 support for linux
Mark Salter [Wed, 13 May 2015 23:40:58 +0000 (16:40 -0700)]
dapl: aarch64 support for linux

Add atomic ops to fix builds for aarch64 Linux.

Signed-off-by: Mark Salter <msalter@redhat.com>
Acked-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agodapltest: add scripts to dist, set default device to IPoIB
Arlin Davis [Tue, 5 May 2015 18:13:15 +0000 (11:13 -0700)]
dapltest: add scripts to dist, set default device to IPoIB

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agompxyd: add wc_flags to proxy work completions
Arlin Davis [Thu, 30 Apr 2015 21:04:09 +0000 (14:04 -0700)]
mpxyd: add wc_flags to proxy work completions

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agoRelease 2.1.4 dapl-2.1.4-1
Arlin Davis [Fri, 20 Mar 2015 00:05:08 +0000 (17:05 -0700)]
Release 2.1.4

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agompxyd: fix typo in configuration file
Arlin Davis [Thu, 19 Mar 2015 23:54:17 +0000 (16:54 -0700)]
mpxyd: fix typo in configuration file

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agocma: RR attributes moved to common ib_cm struct
Arlin Davis [Thu, 12 Mar 2015 20:02:40 +0000 (16:02 -0400)]
cma: RR attributes moved to common ib_cm struct

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agompxyd: tx thread incorrectly sleeps with negative pi_rw_cnt value
Arlin Davis [Thu, 12 Mar 2015 20:00:20 +0000 (16:00 -0400)]
mpxyd: tx thread incorrectly sleeps with negative pi_rw_cnt value

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agodat.conf: add entries for True Scale qib device
Arlin Davis [Mon, 9 Mar 2015 14:31:13 +0000 (10:31 -0400)]
dat.conf: add entries for True Scale qib device

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agompxyd: add support for devices without inline data support
Arlin Davis [Thu, 12 Feb 2015 20:21:37 +0000 (15:21 -0500)]
mpxyd: add support for devices without inline data support

Add function to check for inline support during device open.
If inline data is not supported, the CM service and Proxy
data mover will not use inline data option on small IO.

The PO->PI service will now allocate and register necessary
memory to send mcm_wr_rx and mcm_wc_rx operations from
registered memory locations if inline data not supported.
If inline is supported, no extra memory will be allocated
and src buffer will be built on stack as before.

Cleanup some build warnings.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agoucm: long disconnect times with many-to-one applications
Arlin Davis [Wed, 4 Feb 2015 00:27:50 +0000 (16:27 -0800)]
ucm: long disconnect times with many-to-one applications

Improve the DREQ/DREP handshake and state machine to handle
DREQ crossings and dropped DREP with new timewait state.

Change dat_ep_disconnect call to ensure non-blocking
regardless of flags or state.

Add adjustable disconnect reply timer and retry count.
DCM_DREP_TIME, DCM_DREQ_RETRY

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agoopenib: add inline data support check during device open
Arlin Davis [Thu, 22 Jan 2015 23:49:25 +0000 (15:49 -0800)]
openib: add inline data support check during device open

Not all rdma devices support inline data, however without
a verbs device attribute the only way to determine
support is with a QP create with max_inline_send set.
Add a common function to verify inline data support
before setting default to 64 bytes.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agocleanup ib/cm attribute management across openib providers
Arlin Davis [Tue, 6 Jan 2015 22:01:39 +0000 (14:01 -0800)]
cleanup ib/cm attribute management across openib providers

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agodapltest: fix -Werror=format-security issue with printf
Arlin Davis [Tue, 6 Jan 2015 21:43:57 +0000 (13:43 -0800)]
dapltest: fix -Werror=format-security issue with printf

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agoRelease 2.1.3 dapl-2.1.3
Arlin Davis [Mon, 15 Dec 2014 20:47:44 +0000 (12:47 -0800)]
Release 2.1.3

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agodapl: mpxyd service changes to support multi-thread single-core option
Arlin Davis [Mon, 15 Dec 2014 20:15:54 +0000 (12:15 -0800)]
dapl: mpxyd service changes to support multi-thread single-core option

The proxy service has been changed to reduce the number of cores required
on the host side. Provides new option, via mpxyd.conf, to use single-core
and allow system adminitrator to bind to specific core id for all Intel
Xeon Phi adapters in the platform.

mcm_affinity = 2 will set to single core (per Intel Xeon Phi).
mcm_affinity_base_mic will set to specific core for all adapters.

Best performance can be acheived with mcm_affinity = 2 and
mcm_affinity_base_mic == 0. This option will cause single core
to remain busy, polling operations from clients, as long
as long as device is open and being used by clients for data
transfers.

Default remains mcm_affinity = 1, multi-thread, multi-core.

See mpxyd.conf for details.

Proxy services work threads have been modified to yield
and limit work processing when data flow is pending.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agodapl: add rdma_write_imm and write only option to dtest
Arlin Davis [Mon, 15 Dec 2014 20:05:33 +0000 (12:05 -0800)]
dapl: add rdma_write_imm and write only option to dtest

New write_only (-w) option with rdma_write_imm can
be used with providers that support IB extensions.
Allows more options for write bandwith profiling
with immediate data and signaling rate options
to increase write data rates, especially on MIC
clients that use proxy services.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agoucm: add time wait override capability for CM services
Arlin Davis [Tue, 9 Dec 2014 23:35:59 +0000 (15:35 -0800)]
ucm: add time wait override capability for CM services

New environment variable DAPL_UCM_WAIT_TIME (ms) to
override the default wait_time for CM services.
Default setting is 60 seconds.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agocommon: dapl_ep_free must serialize CM object destroy
Arlin Davis [Tue, 9 Dec 2014 22:40:08 +0000 (14:40 -0800)]
common: dapl_ep_free must serialize CM object destroy

CM object could be destroyed from time_wait state from
provider in separate thread. Destruction must be serialized
with EP lock.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agodtestx: allow scale up to 1000 EP's
Arlin Davis [Thu, 13 Nov 2014 18:36:33 +0000 (10:36 -0800)]
dtestx: allow scale up to 1000 EP's

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agoucm: RTU not retransmitted in TIMEWAIT state
Arlin Davis [Thu, 13 Nov 2014 18:34:52 +0000 (10:34 -0800)]
ucm: RTU not retransmitted in TIMEWAIT state

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agompxyd: increase max open files for service
Arlin Davis [Wed, 5 Nov 2014 18:10:55 +0000 (10:10 -0800)]
mpxyd: increase max open files for service

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agompxyd: DTO completion ERR: status 12, op RDMA_WRITE running MPI alltoall test
Arlin Davis [Fri, 21 Nov 2014 22:26:40 +0000 (14:26 -0800)]
mpxyd: DTO completion ERR: status 12, op RDMA_WRITE running MPI alltoall test

Running MIC scale-up configuration with mcm provider on a MXS node
instead of shm causes DTO error due to heavy use of proxy-in buffer pools.
Hit corner case where proxy buffer management hd ptr crossed tl
ptr due to 64 byte alignment on start when hd < 64 bytes behind tl.

Add additional checking on PO and PI buffer management to handle
the case of HD passing TL on start locations. Also changed PO
processing to hold lock until hd ptr is registered with buf_wc slot
management to preserve order of memory usage across threads.

Reduced the size of WC queue for PO and PI buffer management.

Profiling, via MCM_PROFILE, was added to monitor and trigger buffer
management errors.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agomcm: HST->MXS mode incorrectly signals multiple fragments per WR
Arlin Davis [Mon, 13 Oct 2014 21:10:36 +0000 (14:10 -0700)]
mcm: HST->MXS mode incorrectly signals multiple fragments per WR

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agomcm: add segmentation to HST->MXS mode for improved performance
Arlin Davis [Thu, 9 Oct 2014 22:23:24 +0000 (15:23 -0700)]
mcm: add segmentation to HST->MXS mode for improved performance

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agompxyd: set global seg_sz to 128KB for proxy data service
Arlin Davis [Thu, 9 Oct 2014 22:21:02 +0000 (15:21 -0700)]
mpxyd: set global seg_sz to 128KB for proxy data service

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agoopenib: add port_num to provider named attributes
Arlin Davis [Mon, 6 Oct 2014 20:54:39 +0000 (13:54 -0700)]
openib: add port_num to provider named attributes

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agomcm: provide CPU family/model attribute on both host and mic sides
Arlin Davis [Mon, 6 Oct 2014 19:50:09 +0000 (12:50 -0700)]
mcm: provide CPU family/model attribute on both host and mic sides

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agodtestx: update IB extension example test with new v2.0.9 features
Arlin Davis [Tue, 30 Sep 2014 21:07:52 +0000 (14:07 -0700)]
dtestx: update IB extension example test with new v2.0.9 features

Add support for new IB extensions for CM and AH resource cleanup.
Check for v2.0.9 and call dat_ib_ud_cm_free after connection
establishment and dat_ib_ud_ah_free after all data has been
transfered on UD endpoints.

Also add socket based address exchange to eliminate the need
to include lid and qpn parameters on the client side.

Change the multiple EP mode to send from EP 0 to EP[0-3] on
server side and EP[0-3] to EP[0-3] on client side.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agodtest: add dtestsrq for SRQ example and provider testing
Amir Hanania [Thu, 25 Sep 2014 23:34:20 +0000 (16:34 -0700)]
dtest: add dtestsrq for SRQ example and provider testing

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agocommon: add srq support for openib verbs providers
Amir Hanania [Thu, 25 Sep 2014 23:32:06 +0000 (16:32 -0700)]
common: add srq support for openib verbs providers

Add necessary components and hooks to support ib_verbs shared
receive queues for both RC and UD QP's. External interfaces
were already provided per DAT 2.0 specification but internal
support was missing.

A new dtestsrq will be provided with package for testing and
example code.

Acked-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agoopenib: add IB UD cm_free/ah_free extension support in UCM provider
Arlin Davis [Thu, 25 Sep 2014 23:06:33 +0000 (16:06 -0700)]
openib: add IB UD cm_free/ah_free extension support in UCM provider

Make changes to UCM provider for new CM and AH destroy extensions.
Allow consumer to schedule CM object destroy after CM connection
event has been processed. Active side will put CM object in
TIMEWAIT in case RTU is dropped, passive side can schedule
CM object destroy immediatly when called. In the case where
consumer requests CM object destroy, the provider will remove
all internal references to AH since consumer will call AH
destroy directly when finished with UD sends.

All other providers, MCM, CMA, SCM will return UNSUPPORTED
if new extensions are called.

See dtestx source for code examples of new extensions.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agoopenib: add new TIMEWAIT state for CM
Arlin Davis [Thu, 25 Sep 2014 23:01:33 +0000 (16:01 -0700)]
openib: add new TIMEWAIT state for CM

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agoextension: add IB UD extensions to reduce provider CM and AH memory footprint
Arlin Davis [Thu, 25 Sep 2014 22:42:38 +0000 (15:42 -0700)]
extension: add IB UD extensions to reduce provider CM and AH memory footprint

dat_ib_ud_cm_free, dat_ib_ud_ah_free added to allow consumers
the option to free provider CM and AH objects, related to AH resolution,
immediately after consuming CONN events instead of waiting for
EP destroy. With existing UD service providers the CM and AH objects
are linked to EP and not destroyed until consumer calls dat_ep_free.

dat_ib_ud_cm_free() frees CM object after AH and private data are copied
and stored by consumer. Provider will destroy internal object
and memory associated with CM and AH resolution.
MAY be called after CM establishment and before EP destroyed

dat_ib_ud_ah_free() destroys UD Address Handle (AH).
MUST be called after all UD sends are complete and
before UD EP is destroyed.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agompxyd/mcm: add provider specific attribute DAT_IB_PROXY_VERSION
Arlin Davis [Mon, 15 Sep 2014 17:30:56 +0000 (10:30 -0700)]
mpxyd/mcm: add provider specific attribute DAT_IB_PROXY_VERSION

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agompxyd: log warning if running in COMPAT mode
Arlin Davis [Mon, 15 Sep 2014 17:28:40 +0000 (10:28 -0700)]
mpxyd: log warning if running in COMPAT mode

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agoadd provider and proxy support for GUID across platform
Arlin Davis [Fri, 5 Sep 2014 15:07:04 +0000 (08:07 -0700)]
add provider and proxy support for GUID across platform

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agocommon: return appropriate handles with affiliated EP and EVD async events
Arlin Davis [Wed, 3 Sep 2014 22:47:51 +0000 (15:47 -0700)]
common: return appropriate handles with affiliated EP and EVD async events

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agoRelease 2.1.2 dapl-2.1.2-1
Arlin Davis [Tue, 2 Sep 2014 21:54:51 +0000 (14:54 -0700)]
Release 2.1.2

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agompxyd: add global routing support for proxy connections
Arlin Davis [Tue, 2 Sep 2014 19:53:23 +0000 (12:53 -0700)]
mpxyd: add global routing support for proxy connections

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agomcm: only call mix_get_attr if running on MIC
Arlin Davis [Tue, 2 Sep 2014 19:52:06 +0000 (12:52 -0700)]
mcm: only call mix_get_attr if running on MIC

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agoopenib: modify check for link_layer to handle unspecified
Arlin Davis [Tue, 2 Sep 2014 15:47:29 +0000 (08:47 -0700)]
openib: modify check for link_layer to handle unspecified

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agoThis patch adds the dapl_os_atopmic_inc, dapl_os_atomic_dec,
Alexey Ishchuk [Tue, 2 Sep 2014 15:34:19 +0000 (08:34 -0700)]
This patch adds the dapl_os_atopmic_inc, dapl_os_atomic_dec,
and dapl_os_atomic_assign function implementatios to the dapl
userspace package to provide the DAPL API support on the s390x
platform by adding Assembler language implemenation of those
platform specific functions.

Signed-off-by: Alexey Ishchuk <aishchuk@linux.vnet.ibm.com>
Acked-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agodtest server exchange connection info with client
Amir Hanania [Tue, 26 Aug 2014 22:41:10 +0000 (15:41 -0700)]
dtest server exchange connection info with client

The server and client create connection for the server to send the setup info to the client.
When using dtest, the client only needs to use -h <hostname/IP address> option and it will get the rest of the info from the server.

Signed-off-by: Amir Hanania <amir.hanania@intel.com>
9 years agompxyd: 2 MICs in same numa_node will overlap CPU affinity, don't reset base
Arlin Davis [Mon, 25 Aug 2014 23:30:45 +0000 (16:30 -0700)]
mpxyd: 2 MICs in same numa_node will overlap CPU affinity, don't reset base

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agomcm: implement proxy mix_prov_attr function, add fields CPU model and family
Arlin Davis [Mon, 25 Aug 2014 15:59:50 +0000 (08:59 -0700)]
mcm: implement proxy mix_prov_attr function, add fields CPU model and family

Provide MIC consumers with a provider specific query for proxy CPU model and family
to identify platform type from MIC side. Supported in MCM provider only.

The following provider specific name attributes were added to MCM:

DAT_IB_PROXY_CPU_FAMILY
DAT_IB_PROXY_CPU_MODEL

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agompxyd: tx thread may not be signaled on small segment writes
Arlin Davis [Fri, 22 Aug 2014 17:27:46 +0000 (10:27 -0700)]
mpxyd: tx thread may not be signaled on small segment writes

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agoRelease 2.1.1 dapl-2.1.1-1
Arlin Davis [Wed, 13 Aug 2014 18:58:49 +0000 (11:58 -0700)]
Release 2.1.1

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agocommon: add provider name to log messages
Arlin Davis [Wed, 13 Aug 2014 18:12:29 +0000 (11:12 -0700)]
common: add provider name to log messages

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agompxyd: log warning message if numa_node invalid
Arlin Davis [Wed, 13 Aug 2014 18:10:03 +0000 (11:10 -0700)]
mpxyd: log warning message if numa_node invalid

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agoinclude debuginfo with build
Arlin Davis [Mon, 11 Aug 2014 20:45:12 +0000 (13:45 -0700)]
include debuginfo with build

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agompxyd: tx thread doesn't sleep during no pending IO state
Arlin Davis [Mon, 11 Aug 2014 17:50:05 +0000 (10:50 -0700)]
mpxyd: tx thread doesn't sleep during no pending IO state

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agompxyd: change MIC cpu_mask to per numa node instead of adapter
Arlin Davis [Mon, 11 Aug 2014 16:49:08 +0000 (09:49 -0700)]
mpxyd: change MIC cpu_mask to per numa node instead of adapter

The proxy processing threads for multiple cards in same socket will overlap
same cpu cores with existing cpumask per adapter. Change thread affinity
and cpumask to a per socket method.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agompxyd: set to MXS mode if device numa_node is invalid (-1)
Arlin Davis [Fri, 1 Aug 2014 18:10:47 +0000 (11:10 -0700)]
mpxyd: set to MXS mode if device numa_node is invalid (-1)

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agompxyd: MXS based alltoall benchmark hangs or returns post_send timeout
Arlin Davis [Fri, 1 Aug 2014 17:54:14 +0000 (10:54 -0700)]
mpxyd: MXS based alltoall benchmark hangs or returns post_send timeout

Clean-up shared proxy buffer slot management during IO completions.
Current code adjusts proxy buffer tail, using m_idx, incorrectly
if freeing multiple in order buffer slots. Also, when processing
immediate in-order slot, m_po_buf_tl() failed to continue parsing
list to free other in-order !busy slots.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agompxyd: add IO profile capabilities to help debug alltoall stall cases
Arlin Davis [Thu, 31 Jul 2014 16:50:30 +0000 (09:50 -0700)]
mpxyd: add IO profile capabilities to help debug alltoall stall cases

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agompxyd: retry stalled inline post_send, init m_idx only when signaled
Arlin Davis [Thu, 31 Jul 2014 16:37:27 +0000 (09:37 -0700)]
mpxyd: retry stalled inline post_send, init m_idx only when signaled

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agoRelease 2.1.0 dapl-2.1.0-1
Arlin Davis [Fri, 25 Jul 2014 15:35:31 +0000 (08:35 -0700)]
Release 2.1.0

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agobuild: add missing NEWS file
Arlin Davis [Wed, 23 Jul 2014 22:32:06 +0000 (15:32 -0700)]
build: add missing NEWS file

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agoupdate autogen.sh
Arlin Davis [Mon, 21 Jul 2014 19:55:54 +0000 (12:55 -0700)]
update autogen.sh

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agoAdd MCM provider and MPXYD service to build
Arlin Davis [Mon, 21 Jul 2014 19:33:12 +0000 (12:33 -0700)]
Add MCM provider and MPXYD service to build

update package version to 2.1.0
MCM provider is dependent on Intel MPSS SCIF library.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agompxyd: service startup script and configuration file
Arlin Davis [Mon, 21 Jul 2014 19:05:44 +0000 (12:05 -0700)]
mpxyd: service startup script and configuration file

mpxyd -       Starts/Stops MIC SCIF/DAPL RDMA proxy server
mpxyd.conf -  Config details: service logs, CM timers, proxy buffers, data segment size, etc.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agoadd readme for MCM provider and MPXYD service
Arlin Davis [Mon, 21 Jul 2014 18:55:09 +0000 (11:55 -0700)]
add readme for MCM provider and MPXYD service

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agoupdate Copyright dates
Arlin Davis [Mon, 21 Jul 2014 18:51:11 +0000 (11:51 -0700)]
update Copyright dates

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agoAdd new MIC RDMA proxy service daemon (MPXYD)
Arlin Davis [Mon, 21 Jul 2014 18:18:07 +0000 (11:18 -0700)]
Add new MIC RDMA proxy service daemon (MPXYD)

New service created to support MIC based proxy RDMA. Includes
services to manage connectivity of multi-path heterogeneous
endpoints and use data paths based on platform constraints.

It will create and manage multiple QP's per endpoint if needed. This
allows optimal performance per direction based on various platform
constraints.  For example, if the MIC is on same socket as HCA, only
proxy out is needed and not proxy in. In this case, data can go direct
from MPXYD->MIC. However, if the MIC is on a different CPU socket
from HCA, the provider will use both proxy out and proxy in services
to avoid additional constraints of the server platform.

The MCM provider and MPXYD will support connections between
MIC and non MIC endpoints.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agoadd new dapl MIC provider (MCM) to support MIC RDMA proxy services
Arlin Davis [Mon, 21 Jul 2014 17:58:37 +0000 (10:58 -0700)]
add new dapl MIC provider (MCM) to support MIC RDMA proxy services

Provider supports all modes of connectivity and will setup data paths
based on endpoint locality and platform constraints. Provides
transparent DAT API support for RDMA writes, RDMA write with
immediate data, Sends, and Recvs. No RDMA read or atomic support.
To use MCM provider an application can use the new ofa-v2-mcm
device definations in dat.conf. Intel MPSS is required for
for MCM provider build and usage.

The following shows connectivity modes and data paths:

HST -> HST to HCA
MSS -> MIC to HCA same socket
MXS -> MIC to HCA cross socket

1.  HST->HST:    Xeon->HCA->fabric->HCA->Xeon  (direct->direct)
    HST<-HST:    Xeon<-HCA<-fabric<-HCA<-Xeon  (direct<-direct)

2.  MSS->MSS:    KNC->Xeon->HCA->fabric->HCA->KNC  (proxy->direct)
    MSS<-MSS:    KNC<-HCA<-fabric<-HCA<-Xeon<-KNC  (direct<-proxy)

3.  MSX->MSX:    KNC->Xeon->HCA->fabric->HCA->Xeon->KNC  (proxy->proxy)
    MSX<-MSX:    KNC<-Xeon<-HCA<-fabric<-HCA<-Xeon<-KNC  (proxy<-proxy)

4.  MSS->MSX:    KNC->Xeon->HCA->fabric->HCA->Xeon->KNC  (proxy->proxy)
    MSS<-MXS:    KNC<-HCA<-fabric<-HCA<-Xeon<-KNC        (direct<-proxy)

5.  MSS->HST:    KNC->Xeon->HCA->fabric->HCA->Xeon  (proxy->direct)
    MSS<-HST:    KNC<-HCA<-fabric<-HCA<-Xeon        (direct<-direct)

6.  MSX->HST:    KNC->Xeon->HCA->fabric->HCA->Xeon  (proxy->direct)
    MSX<-HST:    KNC<-Xeon<-HCA<-fabric<-HCA<-Xeon  (proxy<-direct)

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
9 years agoMCM: new MIC provider and proxy service definitions
Arlin Davis [Mon, 21 Jul 2014 15:03:46 +0000 (08:03 -0700)]
MCM: new MIC provider and proxy service definitions

Definitions for MIC Proxy RDMA services

 MCM <-> MPXYD over SCI (Symmetric Communications InterFace) - ops, cm, events
 MCM <-> MCM over IB -  CM, WR/WC proxy-in and proxy-out wire protocol

This service enables MIC based DAPL provider (MCM) to use
proxy data service (host CPU) for SND/RCV and RDMA write operations.
RDMA reads and atomics are not supported. This service communicates within
within a server platform over PCI-E bus using SCIF and a MCM specific
MIX (MIC exchange) messaging protocol. The MCM provider uses a new MCM
CM protocol on the wire along with a Proxy WR/WC protocol.

This service is designed to improved bandwidth on larger IO
when direct MIC based IO is contrained.

This new MCM provider maintains the DAT level API semantics, including
strict ordering requirements of data flow. RDMA write with immediate
data is the only IB extension supported.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
10 years agocleanup build warnings
Arlin Davis [Fri, 18 Jul 2014 18:17:03 +0000 (11:17 -0700)]
cleanup build warnings

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
10 years agocommon: add CQ,QP,MR abstractions for new MIC provider and data proxy service
Arlin Davis [Fri, 18 Jul 2014 15:51:00 +0000 (08:51 -0700)]
common: add CQ,QP,MR abstractions for new MIC provider and data proxy service

The new MIC (many integrated core) based provider (MCM) has the capability to
shadow QPs,CQs,MRs on the host side of the platform for optimial performance
based on locality of endpoints and platform contraints. Each endpoint (DAPL_EP),
transparent to consumer, may have multiple connections via MCM provider.

openib_common ib_cq/ib_qp code base has been expanded, MCM only, to support
separate send and receive channels per endpoint.

openib_common dapl_mr code base has been expanded, MCM only, to support
MIC base DMA interfaces for MIC to HOST communications.

openib_common post_send,post_recv inline code base, MCM only, has been
modified to proxy data services via the new MCM provider.

dapl_ib_async_str added for better logging across openib providers.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
10 years agoopenib: cleanup, use inet_ntop for GIDs, remove some logs, destroy pipes on release
Arlin Davis [Wed, 16 Jul 2014 22:25:44 +0000 (15:25 -0700)]
openib: cleanup, use inet_ntop for GIDs, remove some logs, destroy pipes on release

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
10 years agocommon: new dapls_evd_cqe_to_event call, cqe to event
Arlin Davis [Tue, 15 Jul 2014 22:06:08 +0000 (15:06 -0700)]
common: new dapls_evd_cqe_to_event call, cqe to event

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
10 years agocommon: init ring_buffer, assign hd/tl pos in range
Arlin Davis [Tue, 15 Jul 2014 21:39:44 +0000 (14:39 -0700)]
common: init ring_buffer, assign hd/tl pos in range

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
10 years agoallow log level changes during device open
Arlin Davis [Fri, 11 Jul 2014 18:32:43 +0000 (11:32 -0700)]
allow log level changes during device open

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
10 years agoucm: fix cm rbuf setup, include grh pad on initialization
Arlin Davis [Fri, 11 Jul 2014 16:53:27 +0000 (09:53 -0700)]
ucm: fix cm rbuf setup, include grh pad on initialization

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
10 years agoucm: remove duplicate async_event code, use common async event call
Arlin Davis [Fri, 11 Jul 2014 16:11:25 +0000 (09:11 -0700)]
ucm: remove duplicate async_event code, use common async event call

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
10 years agonew lightweight open_query/close_query IB extension for fast attribute query
Arlin Davis [Fri, 11 Jul 2014 15:39:01 +0000 (08:39 -0700)]
new lightweight open_query/close_query IB extension for fast attribute query

Consumers that need provider attributes must do a full device open
in order to get any provider/device information. With so many static device
entries in /etc/dat.conf consumers are building classification
mechanisms to identify provider type, locality, name, device
mode, and decide which device is appropriate. The existing DAT interface
doesn't provide a lightweight mechanism for queries.

The following fast query functions have been added to dat_ib_extensions.h:

dat_ib_open_query(name, ia_handle, ia_mask, ia_attr, prov_mask, prov_attr)
dat_ib_close_query(ia_handle)

In addition, DAT extension interface, dat_extension_op, has been
expanded to include new internal calls to handle quick provider load
and function linkage via udat_extension_open, and udat_extension_close
functions. Extended operations needing DAT open/close services need
to be defined from a DAT_OPEN_EXTENSION_BASE or DAT_CLOSE_EXTENSION_BASE
respectively.

NOTE: The ia_handle returned with open query must be closed with subsequent
close_query and not used with any other dat_ia_ operations. Attribute
storage from query_open is not valid after close_query call.

The IB extensions have been rolled to version 2.0.8 with this new API.
The changes are backward compatible.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
10 years agodtestcm: add more detailed debug during disconnect phase
Arlin Davis [Wed, 9 Jul 2014 16:43:47 +0000 (09:43 -0700)]
dtestcm: add more detailed debug during disconnect phase

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
10 years agocma: long delays when opening cma provider with no IPoIB configured
Arlin Davis [Tue, 8 Jul 2014 23:14:51 +0000 (16:14 -0700)]
cma: long delays when opening cma provider with no IPoIB configured

The rdma_cm provider (ofa-v2-ib0) can take netdev, ip address, or hostname
for local address bindings. When trying to open a non-existent netdev (ib0)
the provider will fall through and use the getaddrinfo sys call assuming
dat.conf parameter is either an IP address or hostname and not a netdev.

This patch changes getipaddr() error handling when opening the cma provider
on a non-existant netdev. It will only call getaddrinfo with AI_CANONNAME
hints after checking for a valid hostname.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
10 years agocommon: new debug levels for low system memory, IA stats, and package info
Arlin Davis [Tue, 8 Jul 2014 21:20:27 +0000 (14:20 -0700)]
common: new debug levels for low system memory, IA stats, and package info

DAPL_DBG_TYPE_SYS_WARN = 0x800000
DAPL_DBG_TYPE_VER      = 0x1000000
DAPL_DBG_TYPE_IA_STATS = 0x2000000

export DAPL_DBG_SYS_MEM = 5 will set the checking for memory less than 5%
when DAPL_DBG_TYPE is set with bit DAPL_DBG_TYPE_SYS_WARN.

The package must be built with --enable-counters for memory checking and
IA stats capabilities.

In addition, if DAPL_DBG_TYPE is set with bit DAPL_DBG_TYPE_VER than
the package rev and build date will be sent to stdout during library
init.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
10 years agobuild: remove library check for mverbs with --enable-fca
Arlin Davis [Thu, 26 Jun 2014 22:40:46 +0000 (15:40 -0700)]
build: remove library check for mverbs with --enable-fca

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
10 years agoIB extension: segfault in create collective group with non-vector type IA handle"
Arlin Davis [Tue, 24 Jun 2014 22:49:20 +0000 (15:49 -0700)]
IB extension: segfault in create collective group with non-vector type IA handle"

The dats_get_ia_handle call was change in 2.0.34 to convert IA handle from
both vector to handle and handle to vector to fix query calls that
incorrectly returned IA handles in non-vector form. If a caller uses a
non vector IA handle it will get converted incorrectly to a vector and cause
a segfault. Add additional check to verify a IA handle type before calling
get ia handle to avoid incorrect translation.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
10 years agobuild: change configure help to correctly state collective default=none
Arlin Davis [Tue, 24 Jun 2014 22:48:38 +0000 (15:48 -0700)]
build: change configure help to correctly state collective default=none

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
10 years agoRelease 2.0.42 dapl-2.0.42-1
Arlin Davis [Mon, 5 May 2014 16:11:18 +0000 (09:11 -0700)]
Release 2.0.42

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
10 years agodapltest: increase DTO evd size to prevent CQ overflow on limit_rpost test
Arlin Davis [Tue, 15 Apr 2014 21:48:54 +0000 (14:48 -0700)]
dapltest: increase DTO evd size to prevent CQ overflow on limit_rpost test

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
10 years agoCreation of reserved SP moves EP state to DAT_EP_STATE_RESERVED even in failure
Arlin Davis [Tue, 15 Apr 2014 20:44:16 +0000 (13:44 -0700)]
Creation of reserved SP moves EP state to DAT_EP_STATE_RESERVED even in failure
cases. Reserve EP after successfully binding the listening port.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
10 years agodapl: fix string bug in dapls_dto_op_str
Dave Goodell [Mon, 24 Mar 2014 21:07:37 +0000 (14:07 -0700)]
dapl: fix string bug in dapls_dto_op_str

This led to indexing off the end of the array and gave surprising
results for OP_RECV_UD.

10 years agoRelease 2.0.41 dapl-2.0.41-1
Arlin Davis [Mon, 17 Mar 2014 21:20:08 +0000 (14:20 -0700)]
Release 2.0.41

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
10 years agodapltest: change server port, from 45278 to 62000, out of registered IANA range
Arlin Davis [Fri, 14 Mar 2014 17:47:06 +0000 (10:47 -0700)]
dapltest: change server port, from 45278 to 62000, out of registered IANA range

The existing port 45278 is in the registered port range.

RFC 6335:
 System Ports, well known, 0-1023 (assigned by IANA)
 User Ports, registered, 1024-49151 (assigned by IANA)
 Dynamic Ports, private or Ephemeral, 49152-65535 (never assigned)

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
10 years agodat: lower log level on load errors of provider library
Arlin Davis [Thu, 13 Mar 2014 16:55:29 +0000 (09:55 -0700)]
dat: lower log level on load errors of provider library

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
10 years agodat: dat_ia_open should close provider after failure
Arlin Davis [Tue, 4 Mar 2014 18:52:49 +0000 (10:52 -0800)]
dat: dat_ia_open should close provider after failure

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