1. 30 4月, 2008 1 次提交
    • O
      mlx4_core: Avoid recycling old FMR R_Keys too soon · bbdc2821
      Olaf Kirch 提交于
      When a FMR is unmapped, mlx4 resets the map count to 0, and clears the
      upper part of the R_Key which is used as the sequence counter.
      
      This poses a problem for RDS, which uses ib_fmr_unmap as a fence
      operation.  RDS assumes that after issuing an unmap, the old R_Keys
      will be invalid for a "reasonable" period of time. For instance,
      Oracle processes uses shared memory buffers allocated from a pool of
      buffers.  When a process dies, we want to reclaim these buffers -- but
      we must make sure there are no pending RDMA operations to/from those
      buffers.  The only way to achieve that is by using unmap and sync the
      TPT.
      
      However, when the sequence count is reset on unmap, there is a high
      likelihood that a new mapping will be given the same R_Key that was
      issued a few milliseconds ago.
      
      To prevent this, don't reset the sequence count when unmapping a FMR.
      Signed-off-by: NOlaf Kirch <olaf.kirch@oracle.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      bbdc2821
  2. 15 2月, 2008 1 次提交
  3. 07 2月, 2008 1 次提交
  4. 05 2月, 2008 1 次提交
    • R
      mlx4_core: Fix more section mismatches · e8f9b2ed
      Roland Dreier 提交于
          
      Commit 3d73c288 ("mlx4_core: Fix section mismatches") fixed some of
      the section mismatches introduced when error recovery was added, but
      there were still more cases of errory recovery code calling into
      __devinit code from regular .text.  Fix this by getting rid of the
      now-incorrect __devinit annotations.
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      e8f9b2ed
  5. 11 10月, 2007 1 次提交
    • R
      mlx4_core: Fix section mismatches · 3d73c288
      Roland Dreier 提交于
          
      Commit ee49bd93 ("mlx4_core: Reset device when internal error is
      detected") introduced some section mismatch problems when
      CONFIG_HOTPLUG=n, because the error recovery code tears down and
      reinitializes the device after everything is loaded, which ends up
      calling into lots of code marked __devinit and __devexit from regular
      .text.  Fix this by getting rid of these now-incorrect section
      markers.
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      3d73c288
  6. 10 10月, 2007 3 次提交
  7. 28 7月, 2007 1 次提交
  8. 08 6月, 2007 1 次提交
  9. 09 5月, 2007 1 次提交
    • R
      IB/mlx4: Add a driver Mellanox ConnectX InfiniBand adapters · 225c7b1f
      Roland Dreier 提交于
      Add an InfiniBand driver for Mellanox ConnectX adapters.  Because
      these adapters can also be used as ethernet NICs and Fibre Channel 
      HBAs, the driver is split into two modules: 
       
        mlx4_core: Handles low-level things like device initialization and 
          processing firmware commands.  Also controls resource allocation 
          so that the InfiniBand, ethernet and FC functions can share a 
          device without stepping on each other. 
       
        mlx4_ib: Handles InfiniBand-specific things; plugs into the 
          InfiniBand midlayer. 
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      225c7b1f