1. 11 2月, 2007 3 次提交
    • M
      IPoIB: Connected mode experimental support · 839fcaba
      Michael S. Tsirkin 提交于
      The following patch adds experimental support for IPoIB connected
      mode, as defined by the draft from the IETF ipoib working group.  The
      idea is to increase performance by increasing the MTU from the maximum
      of 2K (theoretically 4K) supported by IPoIB on top of UD.  With this
      code, I'm able to get 800MByte/sec or more with netperf without
      options on a Mellanox 4x back-to-back DDR system.
      
      Some notes on code:
      1. SRQ is used for scalability to large cluster sizes
      2. Only RC connections are used (UC does not support SRQ now)
      3. Retry count is set to 0 since spec draft warns against retries
      4. Each connection is used for data transfers in only 1 direction, so
         each connection is either active(TX) or passive (RX).  2 sides that
         want to communicate create 2 connections.
      5. Each active (TX) connection has a separate CQ for send completions -
         this keeps the code simple without CQ resize and other tricks
      6. To detect stale passive side connections (where the remote side is
         down), we keep an LRU list of passive connections (updated once per
         second per connection) and destroy a connection after it has been
         unused for several seconds. The LRU rule makes it possible to avoid
         scanning connections that have recently been active.
      Signed-off-by: NMichael S. Tsirkin <mst@mellanox.co.il>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      839fcaba
    • A
      IB/core: Use ARRAY_SIZE macro for mandatory_table · 9a6b090c
      Ahmed S. Darwish 提交于
      Use ARRAY_SIZE() macro already defined in kernel.h instead of open
      coding equivalent code.
      Signed-off-by: NAhmed S. Darwish <darwish.07@gmail.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      9a6b090c
    • R
      IB/mthca: Use correct structure size in call to memset() · 99d4f22e
      Roland Dreier 提交于
      When clearing the ib_ah_attr parameter in to_ib_ah_attr(), use sizeof
      *ib_ah_attr instead of sizeof *path.
      
      Pointed out by Jack Morgenstein <jackm@mellanox.co.il>.
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      99d4f22e
  2. 10 2月, 2007 37 次提交