[Openib-windows] IBAL fixes for memfree driver

Leonid Keller leonid at mellanox.co.il
Tue Mar 7 10:22:32 PST 2006


Hi Fab,
Find below the patches, that've done working on the memfree driver.
 
Index: ib_types.h
===================================================================
--- ib_types.h (revision 230)
+++ ib_types.h (working copy)
@@ -4169,41 +4169,27 @@
 *
 * SYNOPSIS
 */
+
 AL_INLINE uint8_t AL_API
 ib_port_info_compute_rate(
  IN  const ib_port_info_t* const  p_pi )
 {
- switch( p_pi->link_width_active * p_pi->link_width_active *
-  ib_port_info_get_link_speed_active( p_pi ) )
+ switch(p_pi->link_width_active)
  {
- case 1:
-  return IB_PATH_RECORD_RATE_2_5_GBS;
+  case IB_LINK_WIDTH_ACTIVE_1X:
+    return IB_PATH_RECORD_RATE_2_5_GBS;
 
- case 2:
-  return IB_PATH_RECORD_RATE_5_GBS;
+  case IB_LINK_WIDTH_ACTIVE_4X:
+   return IB_PATH_RECORD_RATE_10_GBS;
 
- case 4:
-  return IB_PATH_RECORD_RATE_10_GBS;
+  case IB_LINK_WIDTH_ACTIVE_12X:
+   return IB_PATH_RECORD_RATE_30_GBS;
 
- case 8:
-  return IB_PATH_RECORD_RATE_20_GBS;
-
- case 16:
-  return IB_PATH_RECORD_RATE_40_GBS;
-
- case 64:
-  return IB_PATH_RECORD_RATE_30_GBS;
-
- case 128:
-  return IB_PATH_RECORD_RATE_60_GBS;
-
- case 256:
-  return IB_PATH_RECORD_RATE_120_GBS;
-
- default:
-  return IB_PATH_RECORD_RATE_2_5_GBS;
+  default:
+   return IB_PATH_RECORD_RATE_2_5_GBS;
  }
 }
+
 /*
 * PARAMETERS
 * p_pi
@@ -8764,6 +8750,17 @@
  IB_WCS_RNR_RETRY_ERR,
  IB_WCS_TIMEOUT_RETRY_ERR,
  IB_WCS_REM_INVALID_REQ_ERR,
+ IB_WCS_LOCAL_EEC_OP_ERR,
+ IB_WCS_BAD_RESP_ERR,
+ IB_WCS_LOCAL_ACCESS_ERR,
+ IB_WCS_REM_INV_REQ_ERR,
+ IB_WCS_LOCAL_RDD_VIOL_ERR,
+ IB_WCS_REM_ABORT_ERR,
+ IB_WCS_INV_EECN_ERR,
+ IB_WCS_INV_EEC_STATE_ERR,
+ IB_WCS_FATAL_ERR,
+ IB_WCS_RESP_TIMEOUT_ERR,
+ IB_WCS_GENERAL_ERR,
  IB_WCS_UNMATCHED_RESPONSE,   /* InfiniBand Access Layer */
  IB_WCS_CANCELED,     /* InfiniBand Access Layer */
  IB_WCS_UNKNOWN      /* Must be last. */
@@ -8827,6 +8824,50 @@
 *   - There was insufficient buffers to receive a new atomic operation.
 *   - An RDMA request was larger than 2^31 bytes.
 *
+* IB_WCS_LOCAL_EEC_OP_ERR,
+*  An internal EE Context consistency error was detected 
+*  while processing this Work Request.
+*
+* IB_WCS_BAD_RESP_ERR,
+*  An unexpected transport layer opcode was returned
+*  by the responder.
+*
+*  IB_WCS_LOCAL_ACCESS_ERR,
+*  A protection error occurred on a local data buffer
+*  during the processing of a RDMA Write with Immediate Data 
+*  operation sent from the remote node.
+*
+*  IB_WCS_REM_INV_REQ_ERR,
+*  The responder detected an invalid message on the channel. 
+*  Possible causes include the operation is:
+*   - not supported by this receive queueĆ³
+*   - insufficient buffering to receive a new RDMA or Atomic Operation request;
+*   - the length specified in an RDMA request is greater than 231 bytes.
+*
+*  IB_WCS_LOCAL_RDD_VIOL_ERR,
+*  The RDD associated with the QP does not match the RDD 
+*  associated with the EE Context.
+*
+*  IB_WCS_REM_ABORT_ERR,
+*  The operation was aborted:
+*   - For RD, the requester aborted the operation. One possible cause is 
+*    the requester suspended the operation and will retry it later using
+*    a new Receive WQE. The other possible cause is the requester
+*    abandoned the operation and placed the requester QP in
+*    the SQEr state.
+*   - For UD QPs associated with an SRQ, the responder aborted the operation.
+*
+*  IB_WCS_INV_EECN_ERR,
+*  An invalid EE Context number was detected.
+*
+*  IB_WCS_INV_EEC_STATE_ERR,
+*  Operation is not legal for the specified EE Context state.
+*
+*  IB_WCS_FATAL_ERR,
+*  
+* IB_WCS_RESP_TIMEOUT_ERR,
+*  
+*
 * IB_WCS_UNMATCHED_RESPONSE
 *  A response MAD was received for which there was no matching send.  The
 *  send operation may have been canceled by the user or may have timed
@@ -8834,6 +8875,10 @@
 *
 * IB_WCS_CANCELED
 *  The completed work request was canceled by the user.
+*
+*  IB_WCS_GENERAL_ERR,
+*  Any other error
+*
 *****/
 
 
@@ -8968,21 +9013,23 @@
  ib_wc_status_t   status;
  uint64_t    vendor_specific;
 
+ uint32_t     qp_num; 
+
  union _wc_recv
  {
   struct _wc_conn
   {
-   ib_recv_opt_t recv_opt;
+   ib_recv_opt_t  recv_opt;
    ib_net32_t  immediate_data;
 
   } conn;
 
   struct _wc_ud
   {
-   ib_recv_opt_t recv_opt;
+   ib_recv_opt_t  recv_opt;
    ib_net32_t  immediate_data;
    ib_net32_t  remote_qp;
-   uint16_t  pkey_index;
+   uint16_t   pkey_index;
    ib_net16_t  remote_lid;
    uint8_t   remote_sl;
    uint8_t   path_bits;

 
 
Index: ib_statustext.c
===================================================================
--- ib_statustext.c     (revision 230)
+++ ib_statustext.c     (working copy)
@@ -163,6 +163,17 @@
        "IB_WCS_RNR_RETRY_ERR",
        "IB_WCS_TIMEOUT_RETRY_ERR",
        "IB_WCS_REM_INVALID_REQ_ERR",
+       "IB_WCS_LOCAL_EEC_OP_ERR",
+       "IB_WCS_BAD_RESP_ERR",
+       "IB_WCS_LOCAL_ACCESS_ERR",
+       "IB_WCS_REM_INV_REQ_ERR",
+       "IB_WCS_LOCAL_RDD_VIOL_ERR",
+       "IB_WCS_REM_ABORT_ERR",
+       "IB_WCS_INV_EECN_ERR",
+       "IB_WCS_INV_EEC_STATE_ERR",
+       "IB_WCS_FATAL_ERR",
+       "IB_WCS_RESP_TIMEOUT_ERR",
+       "IB_WCS_GENERAL_ERR",
        "IB_WCS_UNMATCHED_RESPONSE",                    /* InfiniBand Access Layer */
        "IB_WCS_CANCELED",                                              /* InfiniBand Access Layer */
        "IB_WCS_UNKNOWN"
 
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/ofw/attachments/20060307/faa0af5b/attachment.html>


More information about the ofw mailing list