1. 23 2月, 2007 4 次提交
  2. 17 2月, 2007 5 次提交
    • R
      IB/core: Set static rate in ib_init_ah_from_path() · 7084f842
      Roland Dreier 提交于
      The static rate from the path record should be put into the address
      vector -- a long time ago the rate in the address attributes needed to
      be a relative rate, which required more munging, but now that the
      conversion from absolute to relative is done in the low-level driver,
      it's easy for ib_init_ah_from_path() to put the absolute rate in.
      
      Cc: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
      Cc: Sean Hefty <sean.hefty@intel.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      7084f842
    • R
      IB/core: Fix sparse warnings about shadowed declarations · 38abaa63
      Roland Dreier 提交于
      Change a couple of variable names to avoid sparse warnings about
      symbols being shadowed.
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      38abaa63
    • S
      RDMA/cma: Add multicast communication support · c8f6a362
      Sean Hefty 提交于
      Extend rdma_cm to support multicast communication.  Multicast support
      is added to the existing RDMA_PS_UDP port space, as well as a new
      RDMA_PS_IPOIB port space.  The latter port space allows joining the
      multicast groups used by IPoIB, which enables offloading IPoIB traffic
      to a separate QP.  The port space determines the signature used in the
      MGID when joining the group.  The newly added RDMA_PS_IPOIB also
      allows for unicast operations, similar to RDMA_PS_UDP.
      
      Supporting the RDMA_PS_IPOIB requires changing how UD QPs are initialized,
      since we can no longer assume that the qkey is constant.  This requires
      saving the Q_Key to use when attaching to a device, so that it is
      available when creating the QP.  The Q_Key information is exported to
      the user through the existing rdma_init_qp_attr() interface.
      
      Multicast support is also exported to userspace through the rdma_ucm.
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      c8f6a362
    • S
      IB/sa: Track multicast join/leave requests · faec2f7b
      Sean Hefty 提交于
      The IB SA tracks multicast join/leave requests on a per port basis and
      does not do any reference counting: if two users of the same port join
      the same group, and one leaves that group, then the SA will remove the
      port from the group even though there is one user who wants to stay a
      member left.  Therefore, in order to support multiple users of the
      same multicast group from the same port, we need to perform reference
      counting locally.
      
      To do this, add an multicast submodule to ib_sa to perform reference
      counting of multicast join/leave operations.  Modify ib_ipoib (the
      only in-kernel user of multicast) to use the new interface.
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      faec2f7b
    • S
      RDMA/iwcm: iw_cm_id destruction race fixes · ebb90986
      Steve Wise 提交于
      iwcm iw_cm_id destruction race condition fixes:
      
      - iwcm_deref_id() always wakes up if there's another reference.
      - clean up race condition in cm_work_handler().
      - create static void free_cm_id() which deallocs the work entries and then
        kfrees the cm_id memory.  This reduces code replication.
      - rem_ref() if this is the last reference -and- the IWCM owns freeing the
        cm_id, then free it.
      Signed-off-by: NSteve Wise <swise@opengridcomputing.com>
      Signed-off-by: NTom Tucker <tom@opengridcomputing.com>
      Acked-by: NKrishna Kumar <krkumar2@in.ibm.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      ebb90986
  3. 15 2月, 2007 1 次提交
    • T
      [PATCH] remove many unneeded #includes of sched.h · cd354f1a
      Tim Schmielau 提交于
      After Al Viro (finally) succeeded in removing the sched.h #include in module.h
      recently, it makes sense again to remove other superfluous sched.h includes.
      There are quite a lot of files which include it but don't actually need
      anything defined in there.  Presumably these includes were once needed for
      macros that used to live in sched.h, but moved to other header files in the
      course of cleaning it up.
      
      To ease the pain, this time I did not fiddle with any header files and only
      removed #includes from .c-files, which tend to cause less trouble.
      
      Compile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,
      arm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,
      allmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all
      configs in arch/arm/configs on arm.  I also checked that no new warnings were
      introduced by the patch (actually, some warnings are removed that were emitted
      by unnecessarily included header files).
      Signed-off-by: NTim Schmielau <tim@physik3.uni-rostock.de>
      Acked-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      cd354f1a
  4. 13 2月, 2007 1 次提交
  5. 11 2月, 2007 3 次提交
  6. 05 2月, 2007 2 次提交
    • S
      RDMA/addr: Handle ethernet neighbour updates during route resolution · 1f126670
      Steve Wise 提交于
      The iWARP connection manager uses the ib_addr services to do route
      resolution (neighbour discovery in the IP world).  The ib_addr
      netevent callback routine, however, currently only acts on InfiniBand
      neighbour updates.  It needs to act on ethernet neighbour updates as
      well.
      
      This patch just removes filtering on device type altogether and will
      trigger on any neighour updates where the nud_type is valid.  This
      simplifies the code some.
      Signed-off-by: NSteve Wise <swise@opengridcomputing.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      1f126670
    • M
      IB: Return qp pointer as part of ib_wc · 062dbb69
      Michael S. Tsirkin 提交于
      struct ib_wc currently only includes the local QP number: this matches
      the IB spec, but seems mostly useless. The following patch replaces
      this with the pointer to qp itself, and updates all low level drivers
      and all users.
      
      This has the following advantages:
      - Ability to get a per-qp context through wc->qp->qp_context
      - Existing drivers already have the qp pointer ready in poll cq, so
        this change actually saves a tiny bit (extra memory read) on data path
        (for ehca it would actually be expensive to find the QP pointer when
        polling a CQ, but ehca does not support SRQ so we can leave wc->qp as
        NULL for ehca)
      - Users that need the QP number can still get it through wc->qp->qp_num
      
      Use case:
      
      In IPoIB connected mode code, I have a common CQ shared by multiple
      QPs.  To track connection usage, I need a way to get at some per-QP
      context upon the completion, and I would like to avoid allocating
      context object per work request just to stick a QP pointer into it.
      With this code, I can just use wc->qp->qp_context.
      Signed-off-by: NMichael S. Tsirkin <mst@mellanox.co.il>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      062dbb69
  7. 08 1月, 2007 3 次提交
  8. 13 12月, 2006 7 次提交
  9. 09 12月, 2006 1 次提交
  10. 30 11月, 2006 13 次提交