1
1
Граф коммитов

567 Коммитов

Автор SHA1 Сообщение Дата
Pavel Shamis
92ef832472 Making sure that XRC will not overrun ib_dev_attr.max_qp_wr
This commit was SVN r17300.
2008-01-29 13:15:21 +00:00
Pavel Shamis
7d83f34eb0 Protecting the apm code with OMPI_HAVE_THREADS.
This commit was SVN r17284.
2008-01-28 16:10:18 +00:00
Jeff Squyres
6a49c97368 Remove erroneous #if
This commit was SVN r17282.
2008-01-28 14:38:03 +00:00
Pavel Shamis
28a3917306 Adding APM support (over different lids).
This commit was SVN r17280.
2008-01-28 10:38:08 +00:00
Jeff Squyres
2227d5ec4a Add configure check for struct ibv_device.transport type, which was added in OFED v1.2. Still need to fix up oob and rdma_cm cpc's to do something better with this information...
This commit was SVN r17198.
2008-01-24 12:14:21 +00:00
Gleb Natapov
52c94fa7ea Fix compilation warnings.
This commit was SVN r17169.
2008-01-21 15:07:39 +00:00
Gleb Natapov
c9a1b06771 Remove trailing whitespaces. No code changes in this commit.
This commit was SVN r17167.
2008-01-21 12:11:18 +00:00
Pavel Shamis
add4d9df8a XRC fixes for MPI2 dynamics.
This commit was SVN r17144.
2008-01-15 21:14:48 +00:00
Jeff Squyres
251842ff6a Remove this AS_IF -- it breaks "make dist".
This commit was SVN r17143.
2008-01-15 12:33:08 +00:00
George Bosilca
6310ce955c The first patch related to the Active Message stuff. So far, here is what we have:
- the registration array is now global instead of one by BTL.
- each framework have to declare the entries in the registration array reserved. Then
  it have to define the internal way of sharing (or not) these entries between all
  components. As an example, the PML will not share as there is only one active PML
  at any moment, while the BTLs will have to. The tag is 8 bits long, the first 3
  are reserved for the framework while the remaining 5 are use internally by each
  framework.
- The registration function is optional. If a BTL do not provide such function,
  nothing happens. However, in the case where such function is provided in the BTL
  structure, it will be called by the BML, when a tag is registered.

Now, it's time for the second step... Converting OB1 from a switch based PML to an
active message one.

This commit was SVN r17140.
2008-01-15 05:32:53 +00:00
Jon Mason
a0d4122606 The new cpc selection framework is now in place. The patch below allows
for dynamic selection of cpc methods based on what is available.  It
also allows for inclusion/exclusions of methods.  It even futher allows
for modifying the priorities of certain cpc methods to better determine
the optimal cpc method.

This patch also contains XRC compile time disablement (per Jeff's
patch).

At a high level, the cpc selections works by walking through each cpc
and allowing it to test to see if it is permissable to run on this
mpirun.  It returns a priority if it is permissable or a -1 if not.  All
of the cpc names and priorities are rolled into a string.  This string
is then encapsulated in a message and passed around all the ompi
processes.  Once received and unpacked, the list received is compared
to a local copy of the list.  The connection method is chosen by
comparing the lists passed around to all nodes via modex with the list
generated locally.  Any non-negative number is a potentially valid
connection method.  The method below of determining the optimal
connection method is to take the cross-section of the two lists.  The
highest single value (and the other side being non-negative) is selected
as the cpc method.

svn merge -r 16948:17128 https://svn.open-mpi.org/svn/ompi/tmp-public/openib-cpc/ .

This commit was SVN r17138.
2008-01-14 23:22:03 +00:00
Pavel Shamis
6e50fca2dd Fixing permissions for XRC domain file.
This commit was SVN r17127.
2008-01-13 19:23:11 +00:00
Jon Mason
626e0814a2 Style clean-up
This commit was SVN r17126.
2008-01-12 18:47:17 +00:00
Jon Mason
3970c3ff6c Add Chelsio T3 to ompi/mca/btl/openib/mca-btl-openib-hca-params.ini
This commit was SVN r17101.
2008-01-09 22:14:18 +00:00
Jon Mason
597c7e68f1 Minor cleanups
This commit was SVN r17100.
2008-01-09 21:54:11 +00:00
Gleb Natapov
25ce70bb92 Call mca_btl_openib_endpoint_post_send() holding endpoint lock and not holding
qp lock since this is what the function assumes.

This commit was SVN r17086.
2008-01-09 14:46:41 +00:00
Pavel Shamis
99f51482e3 Fixing openib finalization flow.
This commit was SVN r17085.
2008-01-09 12:36:30 +00:00
Gleb Natapov
51d6ca0cb6 Provide no lock version of mca_btl_openib_endpoint_post_rr(). On connection
creation we call it with endpoint lock already held.

This commit was SVN r17084.
2008-01-09 10:39:35 +00:00
Gleb Natapov
50af6b9e78 Rearrange functions order so that functions are defined before they are used. No
code changes here.

This commit was SVN r17083.
2008-01-09 10:27:15 +00:00
Gleb Natapov
621fa223c5 Create free lists of fragments per HCA, not per BTL. Saves memory in case of
multiple LMCs.

This commit was SVN r17082.
2008-01-09 10:26:21 +00:00
Gleb Natapov
5ce3213158 Rearrange functions order so that functions are defined before they are used. No
code changes here.

This commit was SVN r17081.
2008-01-09 10:05:41 +00:00
Pavel Shamis
fbf7bcd9a9 We need to prepost on srq/xrc before reply with ENDPOINT_XOOB_CONNECT_XRC_RESPONSE.
This commit was SVN r17066.
2008-01-08 10:30:16 +00:00
Gleb Natapov
c3bbf69356 Set send_flags correctly in btl_openib_put. Otherwise we may reuse flags from
previous use of the buffer and they may be incorrect.

This commit was SVN r17058.
2008-01-07 10:19:07 +00:00
Jeff Squyres
a234ba198a Remove superflous / unused -D from Makefile.am.
This commit was SVN r17030.
2008-01-02 18:00:20 +00:00
Gleb Natapov
2fb6947f88 Destroy endpoints that use eager rdma communication before destroying SRQ. Do't
skip async event thread destruction if SRQ was not destroyed, or it will segfault
on module removal.

This commit was SVN r17025.
2007-12-23 13:58:31 +00:00
Gleb Natapov
b06d92bdab OpenIB BTL has three channels through which data can be received (eager rdma,
high prio QPs and low prio QPs) and because not all of them are polled each time
progrgess() is called (to save on latency) starvation is possible. The commit
fixes this. Now each channel is polled, but higher priority channels are polled
more often. Three new parameters are introduced that control polling ratios 
between different channels.

This commit was SVN r17024.
2007-12-23 12:29:34 +00:00
Jeff Squyres
558d179e2e Fix typo.
This commit was SVN r17012.
2007-12-21 14:25:48 +00:00
George Bosilca
906e8bf1d1 Replace the ompi_pointer_array with opal_pointer_array. The next step
(sometimes after the merge with the ORTE branch), the opal_pointer_array
will became the only pointer_array implementation (the orte_pointer_array
will be removed).

This commit was SVN r17007.
2007-12-21 06:02:00 +00:00
Pavel Shamis
fcbca510d8 The ib_inline_max should be updated only when SEND qp is created.
This commit was SVN r16973.
2007-12-17 10:30:30 +00:00
Gleb Natapov
f79e344ea4 Fix bug in debug build.
This commit was SVN r16972.
2007-12-17 10:26:18 +00:00
Gleb Natapov
64a95f63cd Fix error reporting in openib if parameter value is out of range.
This commit was SVN r16971.
2007-12-16 14:04:36 +00:00
Gleb Natapov
8b511b969d Introduce a new BTL parameter btl_rndv_eager_limit which determines size of a
first fragment of rendezvous protocol. Remove no longer used btl_min_send_size
parameter.

This commit was SVN r16969.
2007-12-16 08:35:17 +00:00
Jeff Squyres
213b5d5c6e Per long threads on the mailing list and much confusion discussion
about linkers, have all OPAL, ORTE, and OMPI components '''not'' link
against the OPAL, ORTE, or OMPI libraries.

See ttp://www.open-mpi.org/community/lists/users/2007/10/4220.php for
details (or https://svn.open-mpi.org/trac/ompi/wiki/Linkers for a
better-formatted version of the same info).

This commit was SVN r16968.
2007-12-15 13:32:02 +00:00
Jon Mason
e05cd7b0e4 To modify the default connection method, a "btl_openib_connect <arg>"
should be passed via commandline.  However, there is a slight coding
bug in the openib connect code.  When registering the name of the
option, mca_base_param_reg_string will prepend the relevant info
("btl_openib_" in this case).  The existing code will require
"btl_openib_btl_openib_connect" instead of "btl_openib_connect".
This patch corrects this.

This commit was SVN r16937.
2007-12-11 20:36:36 +00:00
Gleb Natapov
2a59b2a68f 1. Set segments length in prepare_src() after packing because actual size may be
smaller then allocated size.

2. If reserve zero don't allocate coalesced frag since it will be RDMAed, not
send.  The logic was other way around.

This commit was SVN r16928.
2007-12-11 13:10:52 +00:00
Jon Mason
df82fcb917 Slight word usage and grammar error in the openib btl help test. I
believe the change below is the intended meaning.

This commit was SVN r16921.
2007-12-10 21:50:48 +00:00
Gleb Natapov
17611dafbe Fix pointer casting on 32bit machines.
This commit was SVN r16907.
2007-12-09 14:15:35 +00:00
Gleb Natapov
2f9c5b46cf Return OMPI_ERR_RESOURCE_BUSY from openib_btl_send() if fragment is not on wire.
This commit was SVN r16906.
2007-12-09 14:14:11 +00:00
Gleb Natapov
493951e09d Add heterogeneous support to message coalescing.
This commit was SVN r16903.
2007-12-09 14:10:25 +00:00
Gleb Natapov
b4698dc6df Use flags provided during allocation to coalesce to correct priority queue.
This commit was SVN r16902.
2007-12-09 14:08:55 +00:00
Gleb Natapov
e2e211f23b Add flags parameter to btl_alloc() and btl_prepare_src() functions. If BTL
knows at the time of allocation priority of a descriptor it may do some
optimizations.

This commit was SVN r16901.
2007-12-09 14:08:01 +00:00
Gleb Natapov
5313a2baa7 Message coalescing for openib BTL. If fragment is waiting to be transmitted in
a pending queue pack another message into it if there is enough space there.

This commit was SVN r16900.
2007-12-09 14:05:13 +00:00
Gleb Natapov
7302cd24eb Call btl_alloc() from btl_prepare_src() to have one point of frag allocation.
This commit was SVN r16899.
2007-12-09 14:02:32 +00:00
Gleb Natapov
7364b7cf47 Add endpoint parameter to btl_alloc() function. Enables various optimizations
inside BTL.

This commit was SVN r16898.
2007-12-09 14:00:42 +00:00
Gleb Natapov
de3761208a Send cm_seen by eager rdma channel. Encode qp index into credits filed. If
cm_seen is not send here non symmetric eager rdma connection may hang.

This commit was SVN r16896.
2007-12-09 13:56:13 +00:00
Jon Mason
20294e7800 There is a double call to ompi_btl_openib_connect_base_open in
mca_btl_openib_mca_setup_qps().  It looks like someone just forgot to
clean-up the previous call when they added the check for the return
code.

I ran a quick IMB test over IB to verify everything is still working.

This commit was SVN r16870.
2007-12-06 17:25:38 +00:00
Pavel Shamis
e8aeadb11e XRC fixes:
- create separate xrc domain file for each hca
- return error if we failed to create xrc file.

This commit was SVN r16853.
2007-12-05 14:32:44 +00:00
Pavel Shamis
f60ca0e4e5 Removing unused mca_btl_openib_ib_address_status
This commit was SVN r16835.
2007-12-04 13:16:26 +00:00
Pavel Shamis
57728986f8 Fixing XRC multiport/multisubnet support.
This commit was SVN r16819.
2007-12-03 09:49:53 +00:00
Gleb Natapov
b2858236fb Use new free list interface.
This commit was SVN r16818.
2007-12-02 15:13:11 +00:00
Gleb Natapov
a774cd98f8 Put send completions to low prio CQ. Receive is more important.
This commit was SVN r16817.
2007-12-02 14:46:37 +00:00
Gleb Natapov
b17f5b7480 Change how default receive queues parameters are calculated. Current default
parameters don't make any sense. Credits are never piggybacked. Also make
default queue sizes to be calculated from eager_limit and max_send_size values.

This commit was SVN r16816.
2007-12-02 14:43:28 +00:00
Jeff Squyres
8c0060701c Stub out the ibcm CPC.
This commit was SVN r16800.
2007-11-29 13:23:17 +00:00
Pavel Shamis
8aca6eb31b OFED 1.3 doesn't implement ibv_resize_cq for connectX.
On error exit from ibv_resize_cq we should to check if the function
is implemented.

This commit was SVN r16799.
2007-11-28 15:23:19 +00:00
Gleb Natapov
5f242c77f2 Post each recv wr not separately but in one call to ibv_post_recv().
This commit was SVN r16798.
2007-11-28 14:57:15 +00:00
Gleb Natapov
14cffee726 Uninline mca_btl_openib_post_srr() function.
This commit was SVN r16797.
2007-11-28 14:52:31 +00:00
Pavel Shamis
1c314ef4c3 If XRC qp was specified in btl_openib_receive_queues we automatically should
choose xoob connection module.

This commit was SVN r16796.
2007-11-28 10:33:32 +00:00
Pavel Shamis
488a508732 Removing comments from help file.
This commit was SVN r16795.
2007-11-28 10:16:08 +00:00
Pavel Shamis
3e2e4f6d2a Removing unused lid.
This commit was SVN r16794.
2007-11-28 10:06:57 +00:00
Pavel Shamis
aa79bdabc8 Removing port_touse - we don't really need it
This commit was SVN r16793.
2007-11-28 09:57:48 +00:00
Pavel Shamis
2ffbe8776a Fixing compilation problems in openib
This commit was SVN r16792.
2007-11-28 09:38:49 +00:00
Gleb Natapov
218adb2a96 Account for eager rdma credit fragments when creating send queue. Create XRC
receive QP with zero receive and send queue length. We don't going to use this
QP for send and receives a posted to SRQs.

This commit was SVN r16791.
2007-11-28 07:22:01 +00:00
Gleb Natapov
601952a952 Don't shared endpoint->qps array, only pointer to actual QP. Calculate send
queue size for shared QP based on all endpoints that want to use it.

This commit was SVN r16790.
2007-11-28 07:21:07 +00:00
Gleb Natapov
b46c9cc7bc Make xrc use srq_qp unions instead of the xrc_qp which is exactly like srq_qp.
This commit was SVN r16789.
2007-11-28 07:20:26 +00:00
Gleb Natapov
be0981fc07 Change a type of xrc_recv_qp to "struct ibv_qp".
This commit was SVN r16788.
2007-11-28 07:19:36 +00:00
Gleb Natapov
bd47da4699 Initial XRC support by Mellanox.
This commit was SVN r16787.
2007-11-28 07:18:59 +00:00
Gleb Natapov
b49788c499 Receive queue is not used in case of SRQ QP, so don't create one.
This commit was SVN r16786.
2007-11-28 07:17:22 +00:00
Gleb Natapov
923666b75c Process pending put/get frags on endpoint connection establishment.
This commit was SVN r16785.
2007-11-28 07:16:52 +00:00
Gleb Natapov
e502402470 Fix endpoint destructor to not skip closed endpoints.
This commit was SVN r16784.
2007-11-28 07:15:54 +00:00
Gleb Natapov
5a4e953aaa Allow share the same qp for different buffer sizes. Needed for XRC support.
This commit was SVN r16783.
2007-11-28 07:15:20 +00:00
Gleb Natapov
b123696d57 Fix async thread creation and destruction. Create async thread only when it is
needed instead of creating it and then canceling if it is not needed. Change
error handling during finalize so that it will not skip async thread
destruction. Otherwise async thread may segfault during openib module unloading.

This commit was SVN r16782.
2007-11-28 07:14:34 +00:00
Gleb Natapov
5463eb892c Send all explicit credits for PP QPs of all orders over smallest PP qp.
This commit was SVN r16781.
2007-11-28 07:13:34 +00:00
Gleb Natapov
a9f864d15c If there is an eager rdma credit, but there is no WQE to send a packet we add it
to a pending queue of eager rdma QP instead of correct pending list. This patch
fixes this by getting reed of "eager rdma qp" notion. Packet is always send
over its order QP. The patch also adds two pending queues for high and low prio
packets. Only high prio packets are sent over eager RDMA channel.

This commit was SVN r16780.
2007-11-28 07:12:44 +00:00
Gleb Natapov
6a2d210b7d Use OMPI object system to make fragment hierarchy more object oriented. The
main idea (except of cleanup) is to save on initialisation of unneeded fields
and to use C type checking system to catch obvious errors.

This commit was SVN r16779.
2007-11-28 07:11:14 +00:00
Gleb Natapov
267cd2342a Cleanup. Remove unused functions.
This commit was SVN r16778.
2007-11-28 07:08:56 +00:00
Gleb Natapov
3a63eb6c17 Cleanup macro definitions.
This commit was SVN r16554.
2007-10-23 13:33:19 +00:00
Gleb Natapov
d836f3dbbe Remove unused macro.
This commit was SVN r16552.
2007-10-23 13:18:10 +00:00
Gleb Natapov
18ed60edeb Revert previous commit. There was no memory leak, the pointer is saved inside
free list for future use. This patch moves BTL initialization into separate
function too.

This commit was SVN r16551.
2007-10-23 12:57:45 +00:00
Gleb Natapov
657e544e02 Fix memory leak. Define init_data on a stack instead of allocation it each time.
This commit was SVN r16550.
2007-10-23 11:10:52 +00:00
Gleb Natapov
9e2d5acf8e Remove unused filed from openib fragment structure.
This commit was SVN r16549.
2007-10-23 07:38:29 +00:00
Jeff Squyres
94b1e9cff9 Update to use BTL_VERBOSE and BTL_ERROR instead of opal_output'ing to
the mca_btl_base_output stream directly (and relying on it to be -1 if
we didn't want any output).

This commit was SVN r16449.
2007-10-15 17:53:02 +00:00
Jeff Squyres
3500376d9e Remove a warning about an unused label.
This commit was SVN r16429.
2007-10-11 16:38:37 +00:00
Jeff Squyres
f92154fc72 Gah -- ompi_info doesn't setup the connect pseudo component, so it'll
be NULL.  Ensure to protect for this.

This commit was SVN r16333.
2007-10-04 18:03:56 +00:00
Jeff Squyres
13fa7ae93e It's not necessary to link against all 3 libs (in fact, we shouldn't
do it -- let libtool pull them in via the .la file if it needs to)

This commit was SVN r16332.
2007-10-04 18:01:30 +00:00
Jeff Squyres
80ce974291 Fixes trac:1156: ensure to finalize the "connect" sub-component.
This commit was SVN r16330.

The following Trac tickets were found above:
  Ticket 1156 --> https://svn.open-mpi.org/trac/ompi/ticket/1156
2007-10-04 17:36:12 +00:00
Gleb Natapov
60af46d541 We have QP description in component structure, module structure and endpoint.
Each one of them has a field to store QP type, but this is redundant.
Store qp type only in one structure (the component one).

This commit was SVN r16272.
2007-09-30 16:14:17 +00:00
Gleb Natapov
9c04b127f5 Forget to put this fix in previous commit.
This commit was SVN r16271.
2007-09-30 15:33:20 +00:00
Gleb Natapov
3a15d645be Remove lcl_qp_attr from endpoint qp description. It is used during init only.
This commit was SVN r16270.
2007-09-30 15:29:35 +00:00
Gleb Natapov
c7105eadc7 Update Voltaire copyright.
This commit was SVN r16189.
2007-09-24 10:11:52 +00:00
Jeff Squyres
33955a0ed0 Oops -- when converted from uint to int, -1 (the default value,
meaning "infinite") is no longer larger than the minimum required
size.  So put in an appropriate test to ensure that "infinite" was not
requested. 

This commit was SVN r16142.
2007-09-17 19:28:21 +00:00
Jeff Squyres
130a272cec Fix some compiler warnings about signed/unsigned comparisons.
This commit was SVN r16139.
2007-09-17 13:08:45 +00:00
Jeff Squyres
6004e177e0 Fixes trac:1133: if you specify a max freelist size that is too small,
you'll get a helpful error message and the openib BTL will deactivate
itself.

This commit was SVN r16133.

The following Trac tickets were found above:
  Ticket 1133 --> https://svn.open-mpi.org/trac/ompi/ticket/1133
2007-09-14 21:42:56 +00:00
Brian Barrett
59b22533f2 Enable RDMA for heterogeneous situations. Currently done by overloading
the ompi_convertor_need_buffers function to only return 0 if the convertor
is homogeneous (which it never does on the trunk, but does to on v1.2, but
that's a different issue).  Only enable the heterogeneous rdma code for
a btl if it supports it (via a flag), as some btls need some work for this
to work properly.  Currently only TCP and OpenIB extensively tested

This commit was SVN r15990.
2007-08-28 21:23:44 +00:00
Gleb Natapov
33196d972b post_send() function is called without endpoint lock held from explicit credits
update function so eager_rdma_remote.head have to be updated in a thread safe
manner.

This commit was SVN r15966.
2007-08-27 11:37:01 +00:00
Gleb Natapov
32a61c3bf2 Credit fragment is not protected properly from concurrent access. There is a
race that can prevent further explicit credits update from been sent. Fix the
race.

This commit was SVN r15965.
2007-08-27 11:34:59 +00:00
Gleb Natapov
becf4aa9c9 ompi_pointer_array_get_size doesn't return how much elements are actually in an
array, so count them by ourselves.

This commit was SVN r15943.
2007-08-22 09:31:12 +00:00
Gleb Natapov
d8f3063895 Create only one CQ for all BTLs on the same HCA. Many BTLs can be created for
one HCA. Multiple ports, LMC, multiple BTLs per one LID. Having only one CQ for
all of them substantially reduce polling time.

This commit was SVN r15933.
2007-08-20 12:28:25 +00:00
Brad Benton
1ddba9ec65 Lock the endpoint before doing endpoint_state processing. This ensures
that the subsequent unlock is valid.

This commit was SVN r15890.
2007-08-16 18:11:29 +00:00
Tim Prins
5a795128af Change it so that different components in orte use unique rml tags
This commit was SVN r15881.
2007-08-16 14:02:35 +00:00
Jeff Squyres
d7c5fea096 * Fix problem caused by r15848: the test parser was looking for
semicolons but the new specitifcation string used colons.  The text
   parser now looks for colons.
 * Changed all opal_output() error messages to
   much-more-helpful/descriptive opal_show_help() messages.
 * A few minor style/indenting fixes

This commit was SVN r15850.

The following SVN revision numbers were found above:
  r15848 --> open-mpi/ompi@dd30597f39
2007-08-14 14:46:13 +00:00
Jeff Squyres
dd30597f39 Change the default receive_queues value per
http://www.open-mpi.org/community/lists/devel/2007/08/2100.php.

This commit was SVN r15848.
2007-08-13 21:51:05 +00:00
Jeff Squyres
50bae9c603 Bring in the modular-wireup stuff for the openib BTL (from
/tmp/jms-modular-wireup branch):

 * This commit moves all the openib BTL connection code out of
   btl_openib_endpoint.c and into a connect "pseudo-component" area,
   meaning that different schemes for doing OFA connection schemes can
   be chosen via function pointer (i.e., MCA parameter) at run-time.
 * The connect/connect.h file includes comments describing the
   specific interface for the connect pseudo-component.
 * Two pseudo-components are in this commit (more can certainly be
   added).
   * oob: use the same old oob/rml scheme for creating OFA connections
     that we've had forever; this now just puts the logic into this
     self-contained pseudo-component.
   * rdma_cm: a currently-empty set of functions (that currently
     return NOT_IMPLEMENTED) that will someday use the RDMA connection
     manager to make OFA connections.

This commit was SVN r15786.
2007-08-06 23:40:35 +00:00
Jeff Squyres
0fb8cf65a8 If you have an HCA with no active ports, we still create an mpool.
This mpool will have no btl module owner there was no btl created for
the HCA with no ports, but it will still be tracked in the mpool
framework (i.e., it's available).

If MPI_ALLOC_MEM is called by the app, one of two things will happen:

 1. if there's an HCA on the host with some active ports, the openib
    btl component will still be in the process space, and therefore
    the "mpool with no btl" (MWNB) module will still be able to call
    the reg/dereg functions, and all will be fine.  However, if
    MPI_FREE_MEM is never invoked to free the memory, bad things will
    happen during MPI_FINALIZE.  The pml is finalized, which finalizes
    all the btls.  The btls finalize all their mpools and all is fine.
    But later we close down the mpool framework which then finalizes
    any left over mpool modules, such as MWNB.  However, the openib
    BTL module functions that the MWNB was registered with are no
    longer in the process space, and it segv's while trying deregister
    the memory.
 2. if there are *no* HCA's on the host with active ports, then the
    openib btl will have been unloaded, and when the MWNM tries to
    register the memory, the functions it tries to call (in the openib
    btl) are no longer there, and we segv.

This commit was SVN r15735.
2007-08-01 20:53:34 +00:00
Gleb Natapov
758f932aa6 Handle credit in a thread safe manner. I am sure more work will have to be done
in this are.

This commit was SVN r15721.
2007-08-01 12:15:43 +00:00
Gleb Natapov
9c20d67301 1) Return IB header to it's previous size by using char for cm_seen field.
2) Allow to specify rd_win/rd_rsv parameters by user, but make them optional.

This commit was SVN r15719.
2007-08-01 12:10:56 +00:00
Gleb Natapov
2d9669a69d mca_btl_openib_endpoint_post_send() is called with endpoint lock held.
No need to call lock() in btl_openib_acquire_send_resources().

This commit was SVN r15678.
2007-07-30 09:03:08 +00:00
Jeff Squyres
cae00d1854 Passing NULL to pthread_exit() is verbotten.
This commit was SVN r15661.
2007-07-27 01:06:36 +00:00
Jeff Squyres
015fc08ff4 Remove the ib_static_rate MCA parameter; it will be replaced with a
dynamic mechanism to adjust the rate only if necessary (e.g., two
ports of differing speeds are connected).

This commit was SVN r15653.
2007-07-26 21:10:51 +00:00
Gleb Natapov
cce6bb478c Process message before reposting buffers. This way rd_posted should be
calculated properly.

This commit was SVN r15635.
2007-07-26 13:56:07 +00:00
Pavel Shamis
bda6f1a5cf Fixing compilation problem in openib btl progress thread.
This commit was SVN r15631.
2007-07-26 11:35:15 +00:00
Gleb Natapov
1f18b060ce If eager_rdma_local in not initialized credits and rd_win are zero and the
comparison is always true.

This commit was SVN r15629.
2007-07-26 07:53:35 +00:00
Jeff Squyres
e36038bb17 We know that --enable-progress-threads doesn't work. But this allows
it to at least compile.  If you actually get to the point of invoking
the openib btl progress thread, you'll get a big opal_output warning
that it is pretty much guaranteed not to work.

This commit was SVN r15628.
2007-07-26 00:58:56 +00:00
Galen Shipman
514811c50b cleanup btl.h comments
document the btl interface a bit better

This commit was SVN r15618.
2007-07-25 17:26:23 +00:00
Galen Shipman
438a56e0d7 update copyrights for ib_multifrag commit
This commit was SVN r15612.
2007-07-25 15:03:34 +00:00
Galen Shipman
325c184fb4 remove debugging "abort()"
fix a debugging assert

This commit was SVN r15611.
2007-07-25 14:51:19 +00:00
Jeff Squyres
f2a2b2c0f9 A little more error checking; clean up the invalid MCA help message
This commit was SVN r15589.
2007-07-24 20:57:40 +00:00
Gleb Natapov
5b7d3faedc Implement "credit management for credit messages" protocol. On each message a
sender piggybacks a number of credit messages it received from a peer. A number
of outstanding credit messages is limited. This is needed to never ever fall
back to HW flow control.

This commit was SVN r15580.
2007-07-24 15:19:51 +00:00
Gleb Natapov
45a7a0650b btl_openib_handle_incoming() is called from regular receive path and from
eager RDMA receive path and checks internally from where it was called from to
perform different tasks. Leave only common code in there and move other code
to appropriate places.

This commit was SVN r15579.
2007-07-24 13:23:08 +00:00
Brian Barrett
5b9fa7e998 reapply r15517 and r15520, which were removed in r15527 so that I could get
the RML/OOB merge in slightly easier

This commit was SVN r15530.

The following SVN revision numbers were found above:
  r15517 --> open-mpi/ompi@41977fcc95
  r15520 --> open-mpi/ompi@9cbc9df1b8
  r15527 --> open-mpi/ompi@2d17dd9516
2007-07-20 02:34:29 +00:00
Brian Barrett
2d17dd9516 temporarily back our r15517 and 15520 so that I can get the RML / OOB changes
to cleanly apply

This commit was SVN r15527.

The following SVN revision numbers were found above:
  r15517 --> open-mpi/ompi@41977fcc95
2007-07-20 01:10:34 +00:00
Ralph Castain
41977fcc95 Remove the cellid field from the orte_process_name_t structure. This only affects a handful of files in itself, but...
Cleanup ALL instances of output involving the printing of orte_process_name_t structures using the ORTE_NAME_ARGS macro so that the number of fields and type of data match. Replace those values with a new macro/function pair ORTE_NAME_PRINT that outputs a string (using the new thread safe data capability) so that any future changes to the printing of those structures can be accomplished with a change to a single point.

Note that I could not possibly find outputs that directly print the orte_process_name_t fields, but only dealt with those that used ORTE_NAME_ARGS. Hence, you may still have a few outputs that bark during compilation. Also, I could only verify those that fall within environments I can compile on, so other environments may yield some minor warnings.

This commit was SVN r15517.
2007-07-19 20:56:46 +00:00
Pavel Shamis
d837f1446b It is work around for Ticket #1092.
It will prevent the error failure in openib finalize
but it doesn't resolve the actual issue. I guess that
oneside tests some how allocates memory (mpool?) and doesn't 
release it. Need to check it.

This commit was SVN r15488.
2007-07-18 18:02:13 +00:00
Gleb Natapov
45fcb45e31 Remove debug checks that produce lots of warnings during compilation.
This commit was SVN r15479.
2007-07-18 13:49:15 +00:00
Gleb Natapov
30b2183314 Remove debug output from a hot path.
This commit was SVN r15478.
2007-07-18 12:48:34 +00:00
Jeff Squyres
3bc940ac27 Fix three things from r15474 (thanks to Brian for noticing):
* bml.h had a change that introduced a variable named "_order" to
   avoid a conflict with a local variable.  The namespace starting
   with _ belongs to the os/compiler/kernel/not us.  So we can't start
   symbols with _.  So I replaced it with arg_order, and also updated
   the threaded equivalent of the macro that was modified.
 * in btl_openib_proc.c, one opal_output accidentally had its string
   reverted from "ompi_modex_recv..." to
   "mca_pml_base_modex_recv....".  This was fixed.
 * The change to ompi/runtime/ompi_preconnect.c was entirely
   reverted; it was an artifact of debugging.

This commit was SVN r15475.

The following SVN revision numbers were found above:
  r15474 --> open-mpi/ompi@8ace07efed
2007-07-18 11:38:06 +00:00
Jeff Squyres
8ace07efed This commit brings in two major things:
1. Galen's fine-grain control of queue pair resources in the openib
   BTL.
1. Pasha's new implementation of asychronous HCA event handling.

Pasha's new implementation doesn't take much explanation, but the new
"multifrag" stuff does.  

Note that "svn merge" was not used to bring this new code from the
/tmp/ib_multifrag branch -- something Bad happened in the periodic
trunk pulls on that branch making an actual merge back to the trunk
effectively impossible (i.e., lots and lots of arbitrary conflicts and
artifical changes).  :-(

== Fine-grain control of queue pair resources ==

Galen's fine-grain control of queue pair resources to the OpenIB BTL
(thanks to Gleb for fixing broken code and providing additional
functionality, Pasha for finding broken code, and Jeff for doing all
the svn work and regression testing).

Prior to this commit, the OpenIB BTL created two queue pairs: one for
eager size fragments and one for max send size fragments.  When the
use of the shared receive queue (SRQ) was specified (via "-mca
btl_openib_use_srq 1"), these QPs would use a shared receive queue for
receive buffers instead of the default per-peer (PP) receive queues
and buffers.  One consequence of this design is that receive buffer
utilization (the size of the data received as a percentage of the
receive buffer used for the data) was quite poor for a number of
applications.

The new design allows multiple QPs to be specified at runtime.  Each
QP can be setup to use PP or SRQ receive buffers as well as giving
fine-grained control over receive buffer size, number of receive
buffers to post, when to replenish the receive queue (low water mark)
and for SRQ QPs, the number of outstanding sends can also be
specified.  The following is an example of the syntax to describe QPs
to the OpenIB BTL using the new MCA parameter btl_openib_receive_queues:

{{{
-mca btl_openib_receive_queues \
     "P,128,16,4;S,1024,256,128,32;S,4096,256,128,32;S,65536,256,128,32"
}}}

Each QP description is delimited by ";" (semicolon) with individual
fields of the QP description delimited by "," (comma).  The above
example therefore describes 4 QPs.

The first QP is:

    P,128,16,4

Meaning: per-peer receive buffer QPs are indicated by a starting field
of "P"; the first QP (shown above) is therefore a per-peer based QP.
The second field indicates the size of the receive buffer in bytes
(128 bytes).  The third field indicates the number of receive buffers
to allocate to the QP (16).  The fourth field indicates the low
watermark for receive buffers at which time the BTL will repost
receive buffers to the QP (4).

The second QP is:

    S,1024,256,128,32

Shared receive queue based QPs are indicated by a starting field of
"S"; the second QP (shown above) is therefore a shared receive queue
based QP.  The second, third and fourth fields are the same as in the
per-peer based QP.  The fifth field is the number of outstanding sends
that are allowed at a given time on the QP (32).  This provides a
"good enough" mechanism of flow control for some regular communication
patterns.

QPs MUST be specified in ascending receive buffer size order.  This
requirement may be removed prior to 1.3 release.

This commit was SVN r15474.
2007-07-18 01:15:59 +00:00
Jeff Squyres
cee9c214c7 Update the vendor ID list to include HP (0x1708). Thanks to Peter
Kjellstrom for pointing this out.

This commit was SVN r15316.
2007-07-09 20:09:31 +00:00
Brian Barrett
8b9e8054fd Move modex from pml base to general ompi runtime, sicne it's used by more
than just the PML/BTLs these days.  Also clean up the code so that it
handles the situation where not all nodes register information for a given
node (rather than just spinning until that node sends information, like
we do today).

Includes r15234 and r15265 from the /tmp/bwb-modex branch.

This commit was SVN r15310.

The following SVN revisions from the original message are invalid or
inconsistent and therefore were not cross-referenced:
  r15234
  r15265
2007-07-09 17:16:34 +00:00
Jeff Squyres
022bd30558 Back out r15158 because it apparently breaks with recent versions of
flex (which, incidentally, emit ''more'' warnings than earlier
versions).  Grumble.

This commit was SVN r15166.

The following SVN revision numbers were found above:
  r15158 --> open-mpi/ompi@57d09c10f7
2007-06-21 21:14:10 +00:00
Jeff Squyres
57d09c10f7 Avoid some compiler warnings that come up ''every day'' in MTT (and
have been for eons): make a symbol be used in a dumb but harmless way.

This commit was SVN r15158.
2007-06-21 15:42:06 +00:00
Gleb Natapov
b88b7dedfe Rename btl_rdma_offset to btl_pipeline_send_length.
This commit was SVN r15153.
2007-06-21 07:12:40 +00:00
Jeff Squyres
930a9b7682 Make the help messages for if_include/if_exclude a little better.
This commit was SVN r15134.
2007-06-19 13:38:58 +00:00
Jeff Squyres
2399b9a535 Ensure to initialize the variable so that we don't segv.
This commit was SVN r15078.
2007-06-14 13:59:28 +00:00
Gleb Natapov
7b9ae49fe1 This time correctly calculate local BTL rank among all BTLs in a subnet.
This commit was SVN r15073.
2007-06-14 10:27:11 +00:00
Jeff Squyres
1e18265c16 Bring over the functionality from the /tmp/jnysal-openib-wireup
branch:

 * Support btl_openib_if_include and btl_openib_if_exclude MCA
   parameters, similar to those supported by other BTLs.  Each take a
   comma-delimited lists of identifiers.  Identifiers can be HCA
   interface names (e.g., ipath0, mthca1, etc.)  or an HCA interface
   name and port numbers (e.g., ipath0:1, mthca1:2, etc.).  It is an
   error to specify both _include and _exclude.  If you specify a
   non-existant (or non-ACTIVE) HCA and/or port, you'll get a warning
   unless you disable the warning by setting the MCA parameter
   btl_openib_warn_nonexistent_if to 0.
 * Start updating to use BEGIN_C_DECLS and END_C_DECLS
 * A few other minor fixes that were picked up along the way.

This commit was SVN r15063.
2007-06-14 01:59:25 +00:00
Gleb Natapov
8164723014 Allow to configure bandwidth and latency with finer granularity.
Set bandwidth for all ports of mthca0:
--mca btl_openib_bandwidth_mthca0 1000

Set bandwidth for port 1 of mthca1:
--mca btl_openib_bandwidth_mthca1:1 1000

Set latency for port 2 lid 123 on mthca0:
--mca btl_openib_latency_mthca0:2:123 20

This commit was SVN r15041.
2007-06-13 12:47:38 +00:00
Gleb Natapov
5c3f511451 Properly determine btl's rank among all btls withing the same subnet.
This commit was SVN r15038.
2007-06-13 11:15:58 +00:00
Galen Shipman
5340f5e320 Try to cleanup the flow control logic a bit
Renamed a few variables 
Inialize the reserve receive buffers to 1, prior to this they were initialized
to zero. 

This commit was SVN r14919.
2007-06-06 18:51:09 +00:00
Brian Barrett
a446af5b6b * Remove unneeded SRQ test -- we no longer support OFED builds that don't
have the SRQ interface.
  * Instead of setting AC_DEFINEs per MCA component, set per test.  THe
    answers can never be difference, and this will speed sed just a teeny
    bit

This commit was SVN r14856.
2007-06-05 01:49:26 +00:00
Gleb Natapov
444762456e Don't dereference NULL pointer. Fix bug introduced in r14768.
This commit was SVN r14781.

The following SVN revision numbers were found above:
  r14768 --> open-mpi/ompi@3401bd2b07
2007-05-27 09:24:56 +00:00
Galen Shipman
3401bd2b07 Add optional ordering to the BTL interface.
This is required to tighten up the BTL semantics. Ordering is not guaranteed,
but, if the BTL returns a order tag in a descriptor (other than
MCA_BTL_NO_ORDER) then we may request another descriptor that will obey
ordering w.r.t. to the other descriptor.


This will allow sane behavior for RDMA networks, where local completion of an
RDMA operation on the active side does not imply remote completion on the
passive side. If we send a FIN message after local completion and the FIN is
not ordered w.r.t. the RDMA operation then badness may occur as the passive
side may now try to deregister the memory and the RDMA operation may still be
pending on the passive side. 

Note that this has no impact on networks that don't suffer from this
limitation as the ORDER tag can simply always be specified as
MCA_BTL_NO_ORDER.

This commit was SVN r14768.
2007-05-24 19:51:26 +00:00
Jeff Squyres
81df632e29 Clarification to MCA parameter help messages
This commit was SVN r14765.
2007-05-24 19:18:29 +00:00
Pavel Shamis
5ceaa605d7 Adding new vendor_part_id for Mellanox Hermon HCA
This commit was SVN r14705.
2007-05-21 13:33:54 +00:00
Gleb Natapov
3ebaff8dfe Implement new BTL parameters:
We eagerly send data up to btl_*_eager_limit with the match
Upon ACK of the MATCH we start using send/receives of size
btl_*_max_send_size up to the btl_*_rdma_pipeline_offset
After the btl_*_rdma_pipeline_offset we begin using RDMA writes of
size btl_*_rdma_pipeline_frag_size.

Now, on a per message basis we only use the above protocol if the
message is larger than btl_*_min_rdma_pipeline_size

btl_*_eager_limit - > same
btl_*_max_send_size -> same
btl_*_rdma_pipeline_offset -> btl_*_min_rdma_size
btl_*_rdma_pipeline_frag_size -> btl_*_max_rdma_size


btl_*_min_rdma_pipeline_size is new..

This patch also moves all BTL common parameters initialisation into
btl_base_mca.c file.

This commit was SVN r14681.
2007-05-17 07:54:27 +00:00
Pavel Shamis
cd87b05711 Added check for IBV_EVENT_CLIENT_REREGISTER async
event that was not exists in old openib gen2 versions
(Ticket #1025)

This commit was SVN r14658.
2007-05-15 13:53:49 +00:00
Jeff Squyres
92090967b1 Add definitions for Hemon/ConnectX Mellanox HCA
This commit was SVN r14639.
2007-05-10 12:27:51 +00:00
Pavel Shamis
e2d0e27111 Adding:
* openib_finalize flow for openib btl
* async event handler for openib btl

This commit was SVN r14623.
2007-05-08 21:47:21 +00:00
Jeff Squyres
ecf5a3b8dd Fix compiler warning
This commit was SVN r14604.
2007-05-08 13:12:50 +00:00
Rainer Keller
1aceece03f - Add a few comments for elements for structs, a few spelling fixes.
No functional change.

This commit was SVN r14534.
2007-04-26 21:03:38 +00:00
Rainer Keller
ce32b918da - Fixes for for unlocking the mutex in case of error in functions
mca_btl_openib_post_srr and
     btl_openib_endpoint_post_rr

This commit was SVN r14530.
2007-04-26 13:33:02 +00:00
Sharon Melamed
cf3f41288b Add pkey value MCA parameter. if this param is used,
only ports with the actual pkey value will be initiate.

This commit was SVN r14463.
2007-04-22 10:22:12 +00:00
Jeff Squyres
0ba47105ed Merge the /tmp/jms-installdirs-trunk branch into the trunk. This
finally brings in functionality that is already on the 1.2 branch, and
was developed and tested in the v1.2ofed branch (and other places).

Short version of new features:

 * Support for ibv_fork_init() 
 * Automatically fill in the openib BTL bandwidth value by 
   querying the HCA port 
 * Installdirs functionality 
 * Fixes to always use -I in the Fortran wrapper compilers (#924) 
 * Gleb's mpool updates 
 * Remove some kruft in btl/openib/configure.m4, therefore 
   fixing the harmless warnings noted in #665 
 * Bunches of updates to the Linux RPM spec file 

I.e., effectively the same thing that r14411 brought to the v1.2
branch.

Also effectively brought in r14432 and r14433 (some fixes on top of
the original r14411 commit to v1.2).  Still need to bring in the moral
equivalent of r14445 after this commit (fixes to installdirs).

This commit was SVN r14449.

The following SVN revision numbers were found above:
  r14411 --> open-mpi/ompi@83b31314ae
  r14432 --> open-mpi/ompi@a48f160595
  r14433 --> open-mpi/ompi@68f346d2bc
  r14445 --> open-mpi/ompi@13d366b827
2007-04-21 00:15:05 +00:00
Jeff Squyres
51f286d737 Just like r14289 on the ORTE trunk:
Per discussions with Brian and Ralph, make a slight correction in
where components are installed. Use $pkglibdir, not $libdir/openmpi,
so that when compiled in the orte trunk, components are installed to
the right directory (because the component search patch is checking
$pkglibdir).

This commit was SVN r14345.

The following SVN revisions from the original message are invalid or
inconsistent and therefore were not cross-referenced:
  r14289
2007-04-12 11:19:42 +00:00
George Bosilca
1cb26e3b9c Finally the convertor export a convenience function to allow a consistent
computation of the current location on the pack/unpack process. This can
be used both for retrieving the pointer to the first byte (in the special
case of the cached RDMA protocol) and for getting the current
position (for the pipelined protocol).

I modified all BTLs, but most of them are still untested.

This commit was SVN r14180.
2007-03-30 22:02:45 +00:00
Gleb Natapov
435565590f Don't relay on opcode to decide how to progress pending message.
This commit was SVN r14098.
2007-03-21 07:59:59 +00:00
Josh Hursey
e1a18fa149 Patch from Gleb
Always set opcode appropriately before calling ibv_post_send.

This commit was SVN r14056.
2007-03-18 13:33:15 +00:00
Josh Hursey
dadca7da88 Merging in the jjhursey-ft-cr-stable branch (r13912 : HEAD).
This merge adds Checkpoint/Restart support to Open MPI. The initial
frameworks and components support a LAM/MPI-like implementation.

This commit follows the risk assessment presented to the Open MPI core
development group on Feb. 22, 2007.

This commit closes trac:158

More details to follow.

This commit was SVN r14051.

The following SVN revisions from the original message are invalid or
inconsistent and therefore were not cross-referenced:
  r13912

The following Trac tickets were found above:
  Ticket 158 --> https://svn.open-mpi.org/trac/ompi/ticket/158
2007-03-16 23:11:45 +00:00
Gleb Natapov
1dc1ee3998 Send control credit message over "eager rdma" channel if possible.
This commit was SVN r14032.
2007-03-14 14:38:56 +00:00
Gleb Natapov
1f3ac2d7ae Hold pointers to free_max/free_eager lists in array indexed by priority.
This eliminates couple of ifs from fast path.

This commit was SVN r14031.
2007-03-14 14:36:03 +00:00
Gleb Natapov
8607957df9 Get rid of remaining _hp/_lp stuff. Consolidate HP/LP QP creation code.
This commit was SVN r14030.
2007-03-14 14:33:24 +00:00
Gleb Natapov
40501f8274 Amend IB parameter checking.
This commit was SVN r13936.
2007-03-06 13:05:12 +00:00
Gleb Natapov
90fb58de4f When frags are allocated from mpool by free_list the frag structure is also
allocated from mpool memory (which is registered memory for RDMA transports)
This is not a problem for a small jobs, but for a big number of ranks an
amount of waisted memory is big.

This commit was SVN r13921.
2007-03-05 14:17:50 +00:00
Josh Hursey
0404444dbe * Added 2 new MCA parameters
- mca_base_param_file_prefix
     (Default: NULL)
     This is the fullname of the "-am" mpirun option. Used to specify a ':'
     separated list of AMCA parameter set files.
  - mca_base_param_file_path
     (Default: $SYSCONFDIR/amca-param-sets/:$CWD)
     The path to search for AMCA files with relative paths. A warning will be
     printed if the AMCA file cannot be found.

* Added a new function "mca_base_param_recache_files" the re-reads the file
configurations. This is used internally to help bootstrap the MCA system.

* Added a new orterun/mpirun command line option '-am' that aliases for the
mca_base_param_file_prefix MCA parameter

* Exposed the opal_path_access function as it is generally useful in other
places in the code.

* New function "opal_cmd_line_make_opt_mca" which will allow you to append a
new command line option with MCA parameter identifiers to set at the same
time. Previously this could only be done at command line declaration time.

* Added a new directory under the $pkgdatadir named "amca-param-sets" where all
the 'shipped with' Open MPI AMCA parameter sets are placed. This is the first
place to search for AMCA sets with relative paths.

* An example.conf AMCA parameter set file is located in
contrib/amca-param-sets/.

* Jeff Squyres contributed an OpenIB AMCA set for benchmarking.

Note: You will need to autogen with this commit as it adds a configure param.
  Sorry :(

This commit was SVN r13867.
2007-03-01 13:39:20 +00:00
Gleb Natapov
2b6cbd6299 Separate frag lists for RDMA descriptors to two, one for src descriptors
and another for dst descriptors. This provide partial solution to OB1 protocol
deadlock problem. We can limit number of RDMA descriptors (by setting
btl_openib_free_list_max to something different from -1) and if we will be
lucky to hit this limit before we fail to register more memory the protocol
will not deadlock. When we had only one list for src/dst descriptors we
deadlocked when we reached max limit for the list.

This commit was SVN r13844.
2007-02-28 13:43:38 +00:00
Pavel Shamis
edeab0e912 Adding Mellanox Technologies copyright to files touched by Mellanox.
This commit was SVN r13669.
2007-02-15 18:03:20 +00:00
Jeff Squyres
c91fcd7fbd Fix a bunch of minor typos submitted by Bernhard Fischer.
This commit was SVN r13505.
2007-02-06 12:00:30 +00:00
George Bosilca
56ffbfc5ff Get rid of the warnings in the Open IB BTL.
This commit was SVN r13424.
2007-02-01 19:07:04 +00:00
George Bosilca
b611e6d7dc Less warnings.
This commit was SVN r13419.
2007-02-01 17:51:43 +00:00
Brian Barrett
ee753694e0 Print out the memlock limit when we can't allocate memory
This commit was SVN r13372.
2007-01-30 21:22:56 +00:00
Jeff Squyres
6fea000e5f Oops -- get the right function name (copy-n-paste error).
This commit was SVN r13290.
2007-01-24 22:31:13 +00:00
Jeff Squyres
6b69ea664d Make a much, much better error message for a not-uncommon failure
scenario (user/sysadmin forgot to set the memlock limits high
enough).

This commit was SVN r13289.
2007-01-24 22:25:40 +00:00
Jeff Squyres
c9fe68c406 Better patch from Gleb to do the per-port (endpoint) specification of
whether to use eager RDMA or not

This commit was SVN r13262.
2007-01-23 22:40:59 +00:00
Jeff Squyres
3389a523e9 Arrgh. That printf should not have been in there!
This commit was SVN r13243.
2007-01-22 18:52:49 +00:00
Jeff Squyres
a24f3c0886 Move the "use eager RDMA" flag to the individual openib BTL modules,
not the component.  This potentially allows for a mix of HCAs that
support eager RDMA and those who do not on a port-by-port basis.

This commit was SVN r13242.
2007-01-22 18:49:32 +00:00
Jeff Squyres
91b855c2f4 Minor fixes in the help messages
* If the text to cite where the problem occurred is "\n", prettyprint
   somethign a little nicer so that it's clear that we're talking
   about the end of line
 * Add a missing help message ("ini file:unknown field"), and display
   it a little better (i.e., show the erroneous field, not a
   misleading "end of line" marker)
 * It's "OpenIB", not "Open IB"

This commit was SVN r13241.
2007-01-22 18:45:43 +00:00
Jeff Squyres
e934272f3e Commit data supplied by Christian Bell at QLogic for their vendor and
part ID's.

This commit was SVN r13216.
2007-01-19 19:46:29 +00:00
Jeff Squyres
754042f1fc Fix a compiler warning.
This commit was SVN r13134.
2007-01-16 23:03:17 +00:00
Jeff Squyres
d5404f21a3 Make the trunk openib btl compile again.
This commit was SVN r13110.
2007-01-13 14:22:42 +00:00
Galen Shipman
4a6ad30440 remove unused macro calls..
This commit was SVN r13107.
2007-01-12 23:17:17 +00:00
Galen Shipman
2097d174f6 heterogeneous fixes to the OpenIB BTL. This includes work by nysal, brian and
I. 

This commit was SVN r13106.
2007-01-12 23:14:45 +00:00
Galen Shipman
df099a4731 call it what it is...
we are looking at subnet_id's and we are counting active ports per subnet. 
move subnet count out of procs loop,, no need to do it there... 

This commit was SVN r13105.
2007-01-12 22:42:20 +00:00
Jeff Squyres
e5205657cf A much better fix for #739. No configure test -- just do a simple
memcpy() instead of assigning the struct's by value.

Fixes trac:739.

This commit was SVN r13081.

The following Trac tickets were found above:
  Ticket 739 --> https://svn.open-mpi.org/trac/ompi/ticket/739
2007-01-11 14:30:32 +00:00
Jeff Squyres
add3909096 Back out 13076 and 13077 in favor of a much simpler approach.
Sorry for the configure change -- hopefully it's early enough in the
morning that it won't affect people... (new approach won't have a
configure change).

Refs trac:739.

This commit was SVN r13080.

The following Trac tickets were found above:
  Ticket 739 --> https://svn.open-mpi.org/trac/ompi/ticket/739
2007-01-11 14:07:15 +00:00
George Bosilca
24a91fad1d OPAL_BOOL_STRUCT_COPY or OMPI_BOOL_STRUCT_COPY that's the question!
Let's minimize the disturbances and say that the configure system is right.
From now on it's OPAL_BOOL_STRUCT_COPY. This one is related to r13076 and
has to follow when r13076 goes in the 1.2.

This commit was SVN r13077.

The following SVN revision numbers were found above:
  r13076 --> open-mpi/ompi@f0932a0701
2007-01-11 05:44:48 +00:00
Jeff Squyres
f0932a0701 A workaround for a bug in the PGI 6.2 compiler series. This bug has
been fixed in the 7.0 PGI series, but is unlikely to be fixed in the
6.2 series:

 * Add a configure test looking for the bad behavior (the PGI compiler
   chokes on C code where structs containing bool's are copied by
   value)
 * Set OMPI_BOOL_STRUCT_COPY to 1 if it's ok, 0 if it's not (i.e., PGI
   6.2 series will have this value set to 0)
 * In two places in the code base -- orte-clean and btl_openib_ini.h,
   we have a struct that contains a bool that is copied by value.  In
   these two places, check OMPI_BOOL_STRUCT_COPY and if it's 1, use
   the "int" type instead of "bool".

Fixes trac:739

This commit was SVN r13076.

The following Trac tickets were found above:
  Ticket 739 --> https://svn.open-mpi.org/trac/ompi/ticket/739
2007-01-11 02:21:26 +00:00
Gleb Natapov
624f139bd8 This commit fixes trac:729. Initialize pointer to registration to NULL. Otherwise
it may contain garbage and we will try to unregister it later in btl_free().

This commit was SVN r13054.

The following Trac tickets were found above:
  Ticket 729 --> https://svn.open-mpi.org/trac/ompi/ticket/729
2007-01-09 10:29:20 +00:00
Gleb Natapov
d3ac56272a Prevent access to openib_btl after free().
This commit was SVN r13052.
2007-01-09 09:07:32 +00:00
Brian Barrett
e130f18cc2 Fix some compiler warnings that have slipped in lately...
This commit was SVN r13037.
2007-01-08 17:20:09 +00:00
Brian Barrett
a34e67d743 Remove unneeded PARAM_INIT_FILE variable in configure.params files used by
components that use configure.m4 for configuration or are always built. 
The macro has not been needed since moving to configure types other than
configure.stub

Fixes trac:590

This commit was SVN r13031.

The following Trac tickets were found above:
  Ticket 590 --> https://svn.open-mpi.org/trac/ompi/ticket/590
2007-01-08 03:44:22 +00:00
Brian Barrett
8900d3ae43 Second take at fixing the issues with using ompi_ptr_t. Add helper functions for converting from .pval to .lval and vice-versa. Users of ompi_ptr_t types should only use one of the fields in the union unless using the helper conversion functions. For the BTLs, local pointers will always be stored in the .pval field and remote pointers always stored in the .lval field.
George wrote the initial patch, I extended it slightly and am responsible for all bugs found.

Refs trac:587

This commit was SVN r13023.

The following Trac tickets were found above:
  Ticket 587 --> https://svn.open-mpi.org/trac/ompi/ticket/587
2007-01-07 01:48:57 +00:00
Brian Barrett
48ec0b2071 Revert out r12974, 12976, and 12991 as George has provided a less intrusive fix
for now...

This commit was SVN r12997.

The following SVN revision numbers were found above:
  r12974 --> open-mpi/ompi@27cea44a9c
2007-01-04 22:07:37 +00:00
Galen Shipman
d207a6c988 endpoint should use a uint64_t for subnet, as everyone else does.. makes bad
things happen when packing into a 64 bit buffer... 

Misc cleanup.. 

This commit was SVN r12993.
2007-01-04 20:25:28 +00:00
Galen Shipman
f12bbe0591 Handle different subnets correctly and multiple nic endpoint negotiation
This is somewhat limited currently for expample,  if you have 3 ports on Node A and 5 ports
on Node B then the peers will use 3 ports to communicate with each other. 
This is on a subnet basis, so for any pair of nodes we take the
intersection of the available ports within a subnet.

We use subnets to determine reachability for lazy connection establishment. So
if Node A and Node B each have two HCA's (on seperate networks) then the
subnet's must be distinct, otherwise we will try to wire up HCA's on seperate
networks.  

This commit was SVN r12978.
2007-01-03 22:35:41 +00:00
Brian Barrett
27cea44a9c Fix a number of issues with the ompi_ptr_t:
* Make sure that the pval always writes to the correct portion of the
    lval.  This only matters on 32 bit big endian machines.
  * On 32 bit machines when assigning to pval, the other 4 bytes of lval
    weren't being written, which could lead to bogus data

We use macros so that there aren't casts all over the code and the pval
assignment can occur to the correct 4 bytes.  Refs trac:587

This commit was SVN r12974.

The following Trac tickets were found above:
  Ticket 587 --> https://svn.open-mpi.org/trac/ompi/ticket/587
2007-01-03 19:47:48 +00:00
Gleb Natapov
484c6a2c1a Use OPAL_ALIGN() macro to align length. Return address from mpool_alloc is now
properly aligned so no need to align it once more.

This commit was SVN r12899.
2006-12-19 08:34:48 +00:00
Gleb Natapov
190e7a27cd Merge with gleb-mpool branch. All RDMA components use same mpool now (rdma).
udapl/openib/vapi/gm mpools a deprecated. rdma mpool has parameter that allows
to limit its size mpool_rdma_rcache_size_limit (default is 0 - unlimited).

This commit was SVN r12878.
2006-12-17 12:26:41 +00:00
Brian Barrett
0653dc3f24 Pad headers to eliminate heterogeneous issues. Add conversion functions
for switching endianness of headers.  Galen is going to add the code to
use the endian stuff...

This commit was SVN r12876.
2006-12-17 00:50:59 +00:00
Brad Benton
18da4c40d3 Set the QP's static rate from the associated MCA parameter, rather
than just defaulting to 0.

Fixes trac:675

This commit was SVN r12855.

The following Trac tickets were found above:
  Ticket 675 --> https://svn.open-mpi.org/trac/ompi/ticket/675
2006-12-14 19:42:24 +00:00
Jeff Squyres
0ca8cb35b7 Fixes trac:366
Add ability for ini files to recognize "use_eager_rdma" flag.  Set the
default to "no" (because we should assume that HCAs cannot support the
property necessary for using RDMA for eager messages -- that the last
byte of the message is guaranteed to be written to memory last --
unless proven otherwise.  For example, iWARP cards apparently do not
provide this guarantee), and then set all Mellanox and IBM HCAs to
override the default to enable this behavior on these cards.

This commit was SVN r12851.

The following Trac tickets were found above:
  Ticket 366 --> https://svn.open-mpi.org/trac/ompi/ticket/366
2006-12-14 15:52:13 +00:00
Brad Benton
337116d5fd Added IBM eHCA vendor and part id info
This commit was SVN r12827.
2006-12-12 14:12:39 +00:00
Jeff Squyres
e70ef98ea6 Update the help message to be a bit more specific and refer to the web
FAQ.

This commit was SVN r12812.
2006-12-09 15:13:03 +00:00
Brian Barrett
6f8b366acb Rename liborte to libopen-rte and libopal to libopen-pal per telecon today
and bug #632.

Refs trac:632

This commit was SVN r12762.

The following Trac tickets were found above:
  Ticket 632 --> https://svn.open-mpi.org/trac/ompi/ticket/632
2006-12-05 18:27:24 +00:00
Brian Barrett
441432950f Merge in changes from the bwb-heterogeneous temp branch (r12491 -
r12714) for supporting compilers / architectures with different
padding rules.

This commit was SVN r12749.

The following SVN revisions from the original message are invalid or
inconsistent and therefore were not cross-referenced:
  r12491
  r12714
2006-12-04 20:11:42 +00:00
Pavel Shamis
f08bc818c4 Cleaning mca_btl_openib_progress_thread from
unused variables.

This commit was SVN r12709.
2006-11-30 18:28:45 +00:00
Brian Barrett
33320b7165 Rework the opal_progress interface to better support dynamic processes and at
the same time, remove some of the MPI-related options from OPAL:

  - provide mechanism to change at runtime whether sched_yield() should 
    be called when the progress engine is idle
  - provide mechanism for changing the rate at which the event engine
    is called when there are "no" users of the event engine (ie, when
    using MPI but not TCP)
  - fix some function names in the progress engine to better match
    their intended use (and remove MPI naming scheme)
  - remove progress_mpi_enable / progress_mpi_disable because 
    we can now use the functions to set the sched_yield and
    tick rate interfaces
  - rename opal_progress_events() to opal_progress_set_event_flag()
    because the first really isn't descriptive of what the function
    does and I always got confused by it

This commit was SVN r12645.
2006-11-22 02:06:52 +00:00
Ralph Castain
6d6cebb4a7 Bring over the update to terminate orteds that are generated by a dynamic spawn such as comm_spawn. This introduces the concept of a job "family" - i.e., jobs that have a parent/child relationship. Comm_spawn'ed jobs have a parent (the one that spawned them). We track that relationship throughout the lineage - i.e., if a comm_spawned job in turn calls comm_spawn, then it has a parent (the one that spawned it) and a "root" job (the original job that started things).
Accordingly, there are new APIs to the name service to support the ability to get a job's parent, root, immediate children, and all its descendants. In addition, the terminate_job, terminate_orted, and signal_job APIs for the PLS have been modified to accept attributes that define the extent of their actions. For example, doing a "terminate_job" with an attribute of ORTE_NS_INCLUDE_DESCENDANTS will terminate the given jobid AND all jobs that descended from it.

I have tested this capability on a MacBook under rsh, Odin under SLURM, and LANL's Flash (bproc). It worked successfully on non-MPI jobs (both simple and including a spawn), and MPI jobs (again, both simple and with a spawn).

This commit was SVN r12597.
2006-11-14 19:34:59 +00:00
Gleb Natapov
9933a6f469 Previous fix doesn't fix the case when opcode is changed in put/get functions.
The fix is to set opcode to SEND at the entrance to the send function before
checking credits and putting fragment to the pending list. We do the same thing
in put/get functions i.e setting opcode at the entrance to the function.

This commit was SVN r12559.
2006-11-11 07:51:06 +00:00
Gleb Natapov
7e03b83d23 Reset opcode field to SEND. It is checked later in pending progress function.
This commit was SVN r12531.
2006-11-10 06:17:00 +00:00
Gleb Natapov
b4fd2d7d50 Fix warnings from progress thread patch.
This commit was SVN r12434.
2006-11-06 12:34:56 +00:00
Pavel Shamis
566667ac61 Adding progress thread support to OpenIB BTL.
Reviewed by Gleb.

This commit was SVN r12411.
2006-11-02 16:15:21 +00:00
Gleb Natapov
4c784b6403 As Andrew Friedley pointed, my previous patch may cause deadlock if
mca_btl_openib_endpoint_connect_eager_rdma() is called recursively. He also
noticed that orte_pointer_array_add() can't fail because we allocate max number
of elements at init time. So just remove error handling and locking. No locking
 - no deadlocks.

This commit was SVN r12388.
2006-11-01 15:53:33 +00:00
Gleb Natapov
aac695a51f eager_rdma_buffers update is not atomic. A buffer is added to the array and if
something is going wrong down in the code it is removed from the array. So add
mutex to prevent concurrent access to the array from different threads.

This commit was SVN r12385.
2006-11-01 07:27:32 +00:00
Andrew Friedley
48c5117476 Fix some signedness warnings on threaded builds introduced by r12369
This commit was SVN r12376.

The following SVN revision numbers were found above:
  r12369 --> open-mpi/ompi@d7375ec102
2006-10-31 17:29:25 +00:00
Gleb Natapov
d7375ec102 Fix deadlock reported by Andrew Friedley:
What's happening is that we're holding openib_btl->eager_rdma_lock when
we call mca_btl_openib_endpoint_send_eager_rdma() on
btl_openib_endpoint.c:1227.  This in turn calls
mca_btl_openib_endpoint_send() on line 1179.  Then, if the endpoint
state isn't MCA_BTL_IB_CONNECTED or MCA_BTL_IB_FAILED, we call
opal_progress(), where we eventually try to lock
openib_btl->eager_rdma_lock at btl_openib_component.c:997.

The fix removes this lock altogether. Instead we atomically set local RDMA
pointer to prevent other threads to create rdma buffer for the same endpoint.
And we increment eager_rdma_buffers_count atomically thus polling thread doesn't
need lock around it.

This commit was SVN r12369.
2006-10-31 09:54:52 +00:00
Gleb Natapov
1b152dfe09 On 64 bit platform if high 32 bits of buf address is not zero they are trimmed
by wrong bitwise and. Fix it by expanding mask to 64 bits.

This commit was SVN r12368.
2006-10-31 07:33:35 +00:00
George Bosilca
126a68dc9a Big datatype commit. Remove all unused features of the datatype engine. As the memory
allocation logic is completely done outside the data-type engine (in the PML) there is
no need for any special case inside the data-type engine. There is less arguments for
the ompi_convertor_pack and ompi_convertor_unpack as well (the last field free_after is
not required anymore as there is no memory allocated in the engine itself). This change
affect all components using datatypes. I test most of them, but it might happens that I
miss some ... If it's the case please let me know (don't shoot the pianist!!).

This commit was SVN r12331.
2006-10-26 23:11:26 +00:00
George Bosilca
640178c4b3 Grepping through the source files I found these calls to the data-type engine
with the wrong type of arguments.

This commit was SVN r12148.
2006-10-17 21:05:04 +00:00
Rainer Keller
668902c780 - trivial spelling
This commit was SVN r12139.
2006-10-17 16:34:52 +00:00
Pavel Shamis
d64cb58007 Tavor HCA vendor_id was changed to correct one: 23108
Reviewed by: Jeff

This commit was SVN r12127.
2006-10-16 14:46:39 +00:00
Gleb Natapov
26660d657a Openib BTL supports PUT and GET protocol, communicate it to PML. We get better
bandwidth with GET protocol and mpi_leave_pinned option.

This commit was SVN r11862.
2006-09-28 11:48:04 +00:00
Gleb Natapov
30608c5a50 Add separate queues for pending rget and rput frags. Process only limited
number of pending packets at once, otherwise we can spin forever.

This commit was SVN r11861.
2006-09-28 11:41:45 +00:00
Gleb Natapov
7b1b4f95e3 Local GID table contains not what I thought it contains. It contains local HCA
GIDs (there can be more than one) and not GIDs of the HCA on the network. Entry
zero always have to be initialized so we use it, and warn user if there is more
then one port active and default subnet is configured on at least one of them.

This commit was SVN r11815.
2006-09-26 12:12:33 +00:00
Gleb Natapov
9cd25158d6 Fix btl_openib_max_btls parameter handling.
This commit was SVN r11772.
2006-09-25 11:18:20 +00:00
Gleb Natapov
601a6ca17a Use real subnet prefix instead of sm_lid.
This commit was SVN r11749.
2006-09-22 10:27:12 +00:00
Gleb Natapov
18c54f574f add rmb()
This commit was SVN r11710.
2006-09-19 13:27:05 +00:00
Gleb Natapov
ac42284c16 Print more helpful message in case we can't find active port.
This commit was SVN r11706.
2006-09-19 08:56:32 +00:00
George Bosilca
a3ad4a7fc8 The visibility flags (and/or Windows friendly export) is now on for all BTLs.
This commit was SVN r11662.
2006-09-14 22:19:39 +00:00
Gleb Natapov
7999c08107 consolidate credit management and CQ polling code.
This commit was SVN r11622.
2006-09-12 09:17:59 +00:00
Gleb Natapov
9b93f48e22 fix compile warnings in previous commit.
This commit was SVN r11554.
2006-09-07 13:31:50 +00:00
Gleb Natapov
d0caffa0aa Consolidate receive buffers prepost code for HP/LP QPs.
This commit was SVN r11552.
2006-09-07 13:05:41 +00:00
Gleb Natapov
298c825592 Remove #if OMPI_MCA_BTL_OPENIB_HAVE_SRQ. Always compile SRQ.
This commit was SVN r11537.
2006-09-06 05:45:37 +00:00
Gleb Natapov
4f05da21a1 remove unused macro
This commit was SVN r11536.
2006-09-06 05:36:26 +00:00
Gleb Natapov
424e412391 Make eager rdma work with SRQ enabled.
This commit was SVN r11530.
2006-09-05 16:04:04 +00:00
Gleb Natapov
c13240a1d1 remove rdma_credits from openib BTL header. Use one field for regular and rdma credits.
This commit was SVN r11529.
2006-09-05 16:02:09 +00:00
Gleb Natapov
fe932ca7bf consolidate part of HP/LP fields.
This commit was SVN r11528.
2006-09-05 16:00:18 +00:00
Gleb Natapov
b6bac100b0 Move error path out of the way.
This commit was SVN r11527.
2006-09-05 15:59:02 +00:00
Gleb Natapov
ffe7051488 fix compilation warnings.
This commit was SVN r11524.
2006-09-05 09:16:22 +00:00
Jeff Squyres
7fe337ce3b Yoinks -- remove some debugging output.
This commit was SVN r11515.
2006-09-01 11:48:26 +00:00
Jeff Squyres
6c2e938d31 Update the comment to reflect that this can now be a comma-delimited list.
This commit was SVN r11507.
2006-08-30 20:28:48 +00:00
Jeff Squyres
91bdbc0673 This commit fixes a few things. It looks bigger than it is because a
bunch of code changed indenting level and some code got moved out of
one function and made into its own subroutine.

- Gleb pointed out that I wasn't taking into account values from the
  default section of the INI file (and not finding values in the INI
  file is not an error).
- I incorrectly thought that 0x5ad was Mellanox's vendor ID.  Turns
  out that 0x5ad is Cisco's ID, while 0x2c9 is Mellanox.
  Specifically, Cisco burns its own firmware into the HCA which
  replaces the vendor ID, although the part ID stays the same.  So
  it's Mellanox hardware with Cisco firmware.  And apparently several
  of us do that.  :-)  So I expanded the concept of the vendor_id in
  the INI file to allow for lists of vendor IDs.  
- Along with that, I updated the default INI file to list all the IB
  vendors (that I am aware of -- certainly open to putting more data
  in there from other vendors) who overwrite Mellanox's vendor_id with
  their own for the part numbers that we have on file.

This commit was SVN r11506.
2006-08-30 20:21:47 +00:00
Jeff Squyres
9e2488bfe9 George found a great way to avoid warnings from flex for that unused
function.  Woo hoo!

This commit was SVN r11469.
2006-08-28 13:44:37 +00:00
Gleb Natapov
c70eb43e43 Align eager RDMA buffer so that last byte of the buffer is on the last byte of
the CPU cache line. Improves zero byte latency a little bit because of L1 cache
miss reduction.

This commit was SVN r11465.
2006-08-28 11:03:56 +00:00
George Bosilca
3f0a7cad9e The last patch for Windows support. Mostly casting and conversion to C++ friendly headers.
This commit was SVN r11400.
2006-08-24 16:38:08 +00:00
Gleb Natapov
21e99cd334 init mtu parameter when no warn is set.
This commit was SVN r11388.
2006-08-24 10:42:42 +00:00
Galen Shipman
fbf7e9cf1c use int32_t's not size_t's (interface change in ORTE)..
This commit was SVN r11322.
2006-08-22 16:26:36 +00:00
Galen Shipman
e5c594c211 More updates for the async error handler for btl's
In order to provide backwards compatability the framework versions are bumped
and the handler registeration function is at the end of the btl struct.
Testing done on sm, openib, and gm.. 

This commit was SVN r11256.
2006-08-17 22:02:01 +00:00
Galen Shipman
3b49953ce2 Add error callback to the btl interface, this allows error to be delivered to
the upperlayer assynchronously although there are some issues with this.. such
as there are multiple consumers of the btl's.. who get's the

This commit was SVN r11232.
2006-08-16 20:21:38 +00:00
Jeff Squyres
474564a6b1 Bring over all the work from the /tmp/ib-hw-detect branch. In
addition to my design and testing, it was conceptually approved by
Gil, Gleb, Pasha, Brad, and Galen.  Functionally [probably somewhat
lightly] tested by Galen.  We may still have to shake out some bugs
during the next few months, but it seems to be working for all the
cases that I can throw at it.

Here's a summary of the changes from that branch: 

* Move MCA parameter registration to a new file (btl_openib_mca.c):
   * Properly check the retun status of registering MCA params
   * Check for valid values of MCA parameters
   * Make help strings better
   * Otherwise, the only default value of an MCA param that was
     changed was max_btls; it went from 4 to -1 (meaning: use all
     available)
 * Properly prototyped internal functions in _component.c
   * Made a bunch of functions static that didn't need to be public
   * Renamed to remove "mca_" prefix from static functions
   * Call new MCA param registration function
   * Call new INI file read/lookup/finalize functions
   * Updated a bunch of macros to be "BTL_" instead of "ORTE_"
   * Be a little more consistent with return values
   * Handle -1 for the max_btls MCA param
   * Fixed a free() that should have been an OBJ_RELEASE()
   * Some re-indenting
 * Added INI-file parsing
   * New flex file: btl_openib_ini.l
   * New default HCA params .ini file (probably to be expanded over
     time by other HCA vendors)
   * Added more show_help messages for parsing problems
   * Read in INI files and cache the values for later lookup
   * When component opens an HCA, lookup to see if any corresponding
     values were found in the INI files (ID'ed by the HCA vendor_id
     and vendor_part_id)
   * Added btl_openib_verbose MCA param that shows what the INI-file
     stuff does (e.g., shows which MTU your HCA ends up using)
   * Added btl_openib_hca_param_files as a colon-delimited list of INI
     files to check for values during startup (in order,
     left-to-right, just like the MCA base directory param).
   * MTU is currently the only value supported in this framework.
   * It is not a fatal error if we don't find params for the HCA in
     the INI file(s).  Instead, just print a warning.  New MCA param
     btl_openib_warn_no_hca_params_found can be used to disable
     printing the warning.
 * Add MTU to peer negotiation when making a connection
   * Exchange maximum MTU; select the lesser of the two

This commit was SVN r11182.
2006-08-14 19:30:37 +00:00
Galen Shipman
f7015abb92 set the inline_max to something.. doh..
This commit was SVN r11133.
2006-08-08 17:24:12 +00:00
Galen Shipman
c93711cfdb checking for max_inline_data == 0 as an error condition is not valid,, so
don't do it.. 

This commit was SVN r11132.
2006-08-08 16:53:47 +00:00