1. 29 9月, 2010 7 次提交
  2. 28 9月, 2010 2 次提交
    • R
      RDMA/cxgb4: Fix warnings about casts to/from pointers of different sizes · c8e081a1
      Roland Dreier 提交于
      Fix:
      
        drivers/infiniband/hw/cxgb4/qp.c: In function ‘create_qp’:
        drivers/infiniband/hw/cxgb4/qp.c:147: warning: cast from pointer to integer of different size
        drivers/infiniband/hw/cxgb4/qp.c: In function ‘rdma_fini’:
        drivers/infiniband/hw/cxgb4/qp.c:988: warning: cast from pointer to integer of different size
        drivers/infiniband/hw/cxgb4/qp.c: In function ‘rdma_init’:
        drivers/infiniband/hw/cxgb4/qp.c:1063: warning: cast from pointer to integer of different size
        drivers/infiniband/hw/cxgb4/mem.c: In function ‘write_adapter_mem’:
        drivers/infiniband/hw/cxgb4/mem.c:74: warning: cast from pointer to integer of different size
        drivers/infiniband/hw/cxgb4/cq.c: In function ‘destroy_cq’:
        drivers/infiniband/hw/cxgb4/cq.c:58: warning: cast from pointer to integer of different size
        drivers/infiniband/hw/cxgb4/cq.c: In function ‘create_cq’:
        drivers/infiniband/hw/cxgb4/cq.c:135: warning: cast from pointer to integer of different size
        drivers/infiniband/hw/cxgb4/cm.c: In function ‘fw6_msg’:
        drivers/infiniband/hw/cxgb4/cm.c:2326: warning: cast to pointer from integer of different size
      
      by casting pointers to unsigned long instead of u64.
      Reported-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      c8e081a1
    • S
      RDMA/cxgb3: Turn off RX coalescing for iWARP connections · bec658ff
      Steve Wise 提交于
      The HW by default has RX coalescing on.  For iWARP connections, this
      causes a 100ms delay in connection establishement due to the ingress
      MPA Start message being stalled in HW.  So explicitly turn RX
      coalescing off when setting up iWARP connections.
      
      This was causing very bad performance for NP64 gather operations using
      Open MPI, due to the way it sets up connections on larger jobs.
      Signed-off-by: NSteve Wise <swise@opengridcomputing.com>
      Cc: <stable@kernel.org>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      bec658ff
  3. 09 9月, 2010 4 次提交
  4. 03 9月, 2010 1 次提交
  5. 08 8月, 2010 1 次提交
  6. 06 8月, 2010 4 次提交
  7. 05 8月, 2010 13 次提交
  8. 04 8月, 2010 4 次提交
  9. 03 8月, 2010 3 次提交
  10. 29 7月, 2010 1 次提交
    • S
      IB/cm: Check LAP state before sending an MRA · 50a025c6
      Sean Hefty 提交于
      NULL pointer dereferences in ib_cm_init_qp_attr() were seen by some
      users.  From a crash dump, I determined that we died in
      cm_init_qp_rts_attr() (it's inlined, so it doesn't show up in the
      traceback) on the line labeled below:
      
      static int cm_init_qp_rts_attr(struct cm_id_private *cm_id_priv,
                                     struct ib_qp_attr *qp_attr,
                                     int *qp_attr_mask)
      {
              ........
              if (cm_id_priv->id.lap_state == IB_CM_LAP_UNINIT) {
                      .....
              } else {
                     *qp_attr_mask = IB_QP_ALT_PATH | IB_QP_PATH_MIG_STATE;
                     qp_attr->alt_port_num = cm_id_priv->alt_av.port->port_num; <-die
      
      
      The problem is that the rdma_cm can call ib_send_cm_mra() after a
      connection has been established.  The ib_cm incorrectly assumes that
      the MRA is in response to a LAP (load alternate path) message, even
      though no LAP message has been received.  The ib_cm needs to check the
      lap_state before sending an MRA if the cm_id state is established.
      Reported-by: NArthur Kepner <akepner@sgi.com>
      Reported-by: NJosh England <jjengla@gmail.com>
      Signed-off-by: NSean Hefty <sean.hefty@intel.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      50a025c6