1. 11 2月, 2007 7 次提交
    • S
      IB: Remove redundant "_wq" from workqueue names · c7f743a6
      Sean Hefty 提交于
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      c7f743a6
    • S
      RDMA/cma: Increment port number after close to avoid re-use · aedec080
      Sean Hefty 提交于
      Randomize the starting port number and avoid re-using port values
      immediately after they are closed.  Instead keep track of the last
      port value used and increment it every time a new port number is
      assigned, to better replicate other port spaces.
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      aedec080
    • A
      IB/ehca: Fix memleak on module unloading · 65e5c026
      Akinobu Mita 提交于
      Percpu data is not freed on module unloading.
      
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Christoph Raisch <raisch@de.ibm.com>
      Signed-off-by: NAkinobu Mita <akinobu.mita@gmail.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Acked-by: NHoang-Nam Nguyen <hnguyen@de.ibm.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      65e5c026
    • D
      IB/mthca: Work around gcc bug on sparc64 · 6bdd61d8
      David Howells 提交于
      For some reason gcc-3.4.5 on sparc64 does:
      
       WARNING: "____ilog2_NaN" [drivers/infiniband/hw/mthca/ib_mthca.ko] undefined!
      
      Points to note:
      
       (1) The asm volatile flush/flushw are just markers for viewing what comes out
           in the assembly; removing them has no effect on the result.
      
       (2) Changing almost anything else in dwh__mthca_arbel_init_srq_context() or
           dwh__mthca_alloc_srq() causes the problem to go away.
      
      The compiler command line issued by the kernel build is:
      
      /opt/crosstool/gcc-3.4.5-glibc-2.3.6/sparc64-unknown-linux-gnu/bin/sparc64-unknown-linux-gnu-gcc -fno-strict-aliasing -fno-common -Os -m64 -mno-fpu -mcpu=ultrasparc -mcmodel=medlow -ffixed-g4 -ffixed-g5 -fcall-used-g7 -Wa,--undeclared-regs -pg -fno-omit-frame-pointer -fno-optimize-sibling-calls -fasynchronous-unwind-tables -g  -c -o drivers/infiniband/hw/mthca/.tmp_mthca_srq.o drivers/infiniband/hw/mthca/mthca_srq.c
      
      This can be reduced to this whilst still retaining the problem:
      
      /opt/crosstool/gcc-3.4.5-glibc-2.3.6/sparc64-unknown-linux-gnu/bin/sparc64-unknown-linux-gnu-gcc -m64 -c -o drivers/infiniband/hw/mthca/mthca_srq.o drivers/infiniband/hw/mthca/mthca_srq.c -Os
      
      Removing -Os or changing it to -O or -O0 thru -O6 gets rid of the problem.
      
      This patch to the kernel code fixes the problem:
      
      Cc: "David S. Miller" <davem@davemloft.net>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      6bdd61d8
    • 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 33 次提交