1. 16 7月, 2010 1 次提交
    • J
      drivers/net/mlx4: Use %pV, pr_<level>, printk_once · 0a645e80
      Joe Perches 提交于
      Remove near duplication of format string constants by using the newly
      introduced vsprintf extention %pV to reduce text by 20k or so.
      
      $ size drivers/net/mlx4/built-in.o*
         text	   data	    bss	    dec	    hex	filename
       161367	   1866	  48784	 212017	  33c31	drivers/net/mlx4/built-in.o
       142621	   1866	  46248	 190735	  2e90f	drivers/net/mlx4/built-in.o.new
      
      Use printk_once as appropriate.
      Convert printks to pr_<level>, some bare printks now use pr_cont.
      Remove now unused #define PFX.
      Signed-off-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0a645e80
  2. 22 5月, 2010 1 次提交
  3. 06 9月, 2009 1 次提交
    • R
      mlx4_core: Allocate and map sufficient ICM memory for EQ context · fa0681d2
      Roland Dreier 提交于
      The current implementation allocates a single host page for EQ context
      memory, which was OK when we only allocated a few EQs.  However, since
      we now allocate an EQ for each CPU core, this patch removes the
      hard-coded limit (which we exceed with 4 KB pages and 128 byte EQ
      context entries with 32 CPUs) and uses the same ICM table code as all
      other context tables, which ends up simplifying the code quite a bit
      while fixing the problem.
      
      This problem was actually hit in practice on a dual-socket Nehalem box
      with 16 real hardware threads and sufficiently odd ACPI tables that it
      shows on boot
      
          SMP: Allowing 32 CPUs, 16 hotplug CPUs
      
      so num_possible_cpus() ends up 32, and mlx4 ends up creating 33 MSI-X
      interrupts and 33 EQs.  This mlx4 bug means that mlx4 can't even
      initialize at all on this quite mainstream system.
      
      Cc: <stable@kernel.org>
      Reported-by: NEli Cohen <eli@mellanox.co.il>
      Tested-by: NChristoph Lameter <cl@linux-foundation.org>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      fa0681d2
  4. 19 3月, 2009 1 次提交
  5. 22 12月, 2008 1 次提交
  6. 29 11月, 2008 1 次提交
  7. 05 11月, 2008 1 次提交
  8. 23 10月, 2008 3 次提交
  9. 11 10月, 2008 1 次提交
  10. 26 7月, 2008 1 次提交
  11. 23 7月, 2008 1 次提交
    • 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
  12. 24 4月, 2008 1 次提交
  13. 17 4月, 2008 1 次提交
    • R
      mlx4_core: Fix confusion between mlx4_event and mlx4_dev_event enums · 37608eea
      Roland Dreier 提交于
      The struct mlx4_interface.event() method was supposed to get an enum
      mlx4_dev_event, but the driver code was actually passing in the
      hardware enum mlx4_event values.  Fix up the callers of
      mlx4_dispatch_event() so that they pass in the right type of value,
      and fix up the event method in mlx4_ib so that it can handle the enum
      mlx4_dev_event values.
      
      This eliminates the need for the subtype parameter to the event
      method, so remove it.
      
      This also fixes the sparse warning
      
          drivers/net/mlx4/intf.c:127:48: warning: mixing different enum types
          drivers/net/mlx4/intf.c:127:48:     int enum mlx4_event  versus
          drivers/net/mlx4/intf.c:127:48:     int enum mlx4_dev_event
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      37608eea
  14. 10 10月, 2007 3 次提交
  15. 18 7月, 2007 1 次提交
  16. 10 7月, 2007 1 次提交
  17. 13 5月, 2007 1 次提交
  18. 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