1. 06 9月, 2009 1 次提交
  2. 23 6月, 2009 1 次提交
  3. 29 5月, 2009 1 次提交
  4. 28 5月, 2009 1 次提交
  5. 23 10月, 2008 1 次提交
  6. 16 9月, 2008 1 次提交
  7. 03 9月, 2008 1 次提交
  8. 26 7月, 2008 1 次提交
  9. 23 7月, 2008 2 次提交
    • R
      IB/mlx4: Add support for memory management extensions and local DMA L_Key · 95d04f07
      Roland Dreier 提交于
      Add support for the following operations to mlx4 when device firmware
      supports them:
      
       - Send with invalidate and local invalidate send queue work requests;
       - Allocate/free fast register MRs;
       - Allocate/free fast register MR page lists;
       - Fast register MR send queue work requests;
       - Local DMA L_Key.
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      95d04f07
    • R
      mlx4_core: Keep free count for MTT buddy allocator · e4044cfc
      Roland Dreier 提交于
      MTT entries are allocated with a buddy allocator, which just keeps
      bitmaps for each level of the buddy table.  However, all free space
      starts out at the highest order, and small allocations start scanning
      from the lowest order.  When the lowest order tables have no free
      space, this can lead to scanning potentially millions of bits before
      finding a free entry at a higher order.
      
      We can avoid this by just keeping a count of how many free entries
      each order has, and skipping the bitmap scan when an order is
      completely empty.  This provides a nice performance boost for a
      negligible increase in memory usage.
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      e4044cfc
  10. 06 5月, 2008 1 次提交
  11. 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
  12. 15 2月, 2008 1 次提交
  13. 07 2月, 2008 1 次提交
  14. 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
  15. 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
  16. 10 10月, 2007 3 次提交
  17. 28 7月, 2007 1 次提交
  18. 08 6月, 2007 1 次提交
  19. 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