1. 11 4月, 2014 1 次提交
  2. 02 4月, 2014 1 次提交
  3. 05 3月, 2014 1 次提交
  4. 15 1月, 2014 1 次提交
    • M
      IB/core: Ethernet L2 attributes in verbs/cm structures · dd5f03be
      Matan Barak 提交于
      This patch add the support for Ethernet L2 attributes in the
      verbs/cm/cma structures.
      
      When dealing with L2 Ethernet, we should use smac, dmac, vlan ID and priority
      in a similar manner that the IB L2 (and the L4 PKEY) attributes are used.
      
      Thus, those attributes were added to the following structures:
      
      * ib_ah_attr - added dmac
      * ib_qp_attr - added smac and vlan_id, (sl remains vlan priority)
      * ib_wc - added smac, vlan_id
      * ib_sa_path_rec - added smac, dmac, vlan_id
      * cm_av - added smac and vlan_id
      
      For the path record structure, extra care was taken to avoid the new
      fields when packing it into wire format, so we don't break the IB CM
      and SA wire protocol.
      
      On the active side, the CM fills. its internal structures from the
      path provided by the ULP.  We add there taking the ETH L2 attributes
      and placing them into the CM Address Handle (struct cm_av).
      
      On the passive side, the CM fills its internal structures from the WC
      associated with the REQ message.  We add there taking the ETH L2
      attributes from the WC.
      
      When the HW driver provides the required ETH L2 attributes in the WC,
      they set the IB_WC_WITH_SMAC and IB_WC_WITH_VLAN flags. The IB core
      code checks for the presence of these flags, and in their absence does
      address resolution from the ib_init_ah_from_wc() helper function.
      
      ib_modify_qp_is_ok is also updated to consider the link layer. Some
      parameters are mandatory for Ethernet link layer, while they are
      irrelevant for IB.  Vendor drivers are modified to support the new
      function signature.
      Signed-off-by: NMatan Barak <matanb@mellanox.com>
      Signed-off-by: NOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: NRoland Dreier <roland@purestorage.com>
      dd5f03be
  5. 15 10月, 2013 1 次提交
  6. 04 1月, 2013 1 次提交
    • G
      Drivers: infinband: remove __dev* attributes. · 1e6d9abe
      Greg Kroah-Hartman 提交于
      CONFIG_HOTPLUG is going away as an option.  As a result, the __dev*
      markings need to be removed.
      
      This change removes the use of __devinit, __devexit_p, __devinitdata,
      and __devexit from these drivers.
      
      Based on patches originally written by Bill Pemberton, but redone by me
      in order to handle some of the coding style issues better, by hand.
      
      Cc: Bill Pemberton <wfp5p@virginia.edu>
      Cc: Tom Tucker <tom@opengridcomputing.com>
      Cc: Steve Wise <swise@opengridcomputing.com>
      Cc: Roland Dreier <roland@kernel.org>
      Cc: Sean Hefty <sean.hefty@intel.com>
      Cc: Hal Rosenstock <hal.rosenstock@gmail.com>
      Cc: Hoang-Nam Nguyen <hnguyen@de.ibm.com>
      Cc: Christoph Raisch <raisch@de.ibm.com>
      Cc: Mike Marciniszyn <infinipath@intel.com>
      Cc: Faisal Latif <faisal.latif@intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      1e6d9abe
  7. 24 8月, 2012 1 次提交
  8. 12 7月, 2012 2 次提交
  9. 09 3月, 2012 1 次提交
    • O
      IB: Change CQE "csum_ok" field to a bit flag · d927d505
      Or Gerlitz 提交于
      Use a bit in wc_flags rather then a whole integer to hold the
      "checksum OK" flag.  By itself, this change doesn't reduce the size of
      struct ib_wc on 64bit machines -- it stays on 56 bytes because of
      padding.  However, it will allow to add more fields in the future
      without enlarging the struct.  Also, it will let us have a unified
      approach with future libibverbs checksum offload reporting, because a
      bit flag doesn't break the library ABI.
      
      This patch was suggested during conversation with Liran Liss
      <liranl@mellanox.com>.
      Signed-off-by: NOr Gerlitz <ogerlitz@mellanox.com>
      Reviewed-by: NSean Hefty <sean.hefty@intel.com>
      Signed-off-by: NRoland Dreier <roland@purestorage.com>
      d927d505
  10. 04 11月, 2011 1 次提交
    • R
      IB/mthca: Fix buddy->num_free allocation size · e4221314
      Roland Dreier 提交于
      The num_free field of mthca_buddy has a type of array of unsigned int
      while it was allocated as an array of pointers.  On 64-bit platforms
      this allocates twice more than required.  Fix this by allocating the
      correct size for the type.
      
      This is the same bug just fixed in mlx4 by Eli Cohen <eli@mellanox.co.il>.
      Signed-off-by: NRoland Dreier <roland@purestorage.com>
      e4221314
  11. 01 11月, 2011 3 次提交
  12. 14 10月, 2011 1 次提交
  13. 19 7月, 2011 1 次提交
  14. 16 7月, 2011 1 次提交
    • G
      IB/mthca: Stop returning separate error and status from FW commands · cdb73db0
      Goldwyn Rodrigues 提交于
      Instead of having firmware command functions return an error and also
      a status, leading to code like:
      
      	err = mthca_FW_COMMAND(..., &status);
      	if (err)
      		goto out;
              if (status) {
      		err = -E...;
      		goto out;
      	}
      
      all over the place, just handle the FW status inside the FW command
      handling code (the way mlx4 does it), so we can simply write:
      
      	err = mthca_FW_COMMAND(...);
      	if (err)
      		goto out;
      
      In addition to simplifying the source code, this also saves a healthy
      chunk of text:
      
          add/remove: 0/0 grow/shrink: 10/88 up/down: 510/-3357 (-2847)
          function                                     old     new   delta
          static.trans_table                           324     584    +260
          mthca_cmd_poll                               352     477    +125
          mthca_cmd_wait                               511     567     +56
          mthca_table_put                              213     240     +27
          mthca_cleanup_db_tab                         372     387     +15
          __mthca_remove_one                           314     323      +9
          mthca_cleanup_user_db_tab                    275     283      +8
          __mthca_init_one                            1738    1746      +8
          mthca_cleanup                                 20      21      +1
          mthca_MAD_IFC                               1081    1082      +1
          mthca_MGID_HASH                               43      40      -3
          mthca_MAP_ICM_AUX                             23      20      -3
          mthca_MAP_ICM                                 19      16      -3
          mthca_MAP_FA                                  23      20      -3
          mthca_READ_MGM                                43      38      -5
          mthca_QUERY_SRQ                               43      38      -5
          mthca_QUERY_QP                                59      54      -5
          mthca_HW2SW_SRQ                               43      38      -5
          mthca_HW2SW_MPT                               60      55      -5
          mthca_HW2SW_EQ                                43      38      -5
          mthca_HW2SW_CQ                                43      38      -5
          mthca_free_icm_table                         120     114      -6
          mthca_query_srq                              214     206      -8
          mthca_free_qp                                662     654      -8
          mthca_cmd                                     38      28     -10
          mthca_alloc_db                              1321    1311     -10
          mthca_setup_hca                             1067    1055     -12
          mthca_WRITE_MTT                               35      22     -13
          mthca_WRITE_MGM                               40      27     -13
          mthca_UNMAP_ICM_AUX                           36      23     -13
          mthca_UNMAP_FA                                36      23     -13
          mthca_SYS_DIS                                 36      23     -13
          mthca_SYNC_TPT                                36      23     -13
          mthca_SW2HW_SRQ                               35      22     -13
          mthca_SW2HW_MPT                               35      22     -13
          mthca_SW2HW_EQ                                35      22     -13
          mthca_SW2HW_CQ                                35      22     -13
          mthca_RUN_FW                                  36      23     -13
          mthca_DISABLE_LAM                             36      23     -13
          mthca_CLOSE_IB                                36      23     -13
          mthca_CLOSE_HCA                               38      25     -13
          mthca_ARM_SRQ                                 39      26     -13
          mthca_free_icms                              178     164     -14
          mthca_QUERY_DDR                              389     375     -14
          mthca_resize_cq                             1063    1048     -15
          mthca_unmap_eq_icm                           123     107     -16
          mthca_map_eq_icm                             396     380     -16
          mthca_cmd_box                                 90      74     -16
          mthca_SET_IB                                 433     417     -16
          mthca_RESIZE_CQ                              369     353     -16
          mthca_MAP_ICM_page                           240     224     -16
          mthca_MAP_EQ                                 183     167     -16
          mthca_INIT_IB                                473     457     -16
          mthca_INIT_HCA                               745     729     -16
          mthca_map_user_db                            816     798     -18
          mthca_SYS_EN                                 157     139     -18
          mthca_cleanup_qp_table                        78      59     -19
          mthca_cleanup_eq_table                       168     149     -19
          mthca_UNMAP_ICM                              143     121     -22
          mthca_modify_srq                             172     149     -23
          mthca_unmap_fmr                              198     174     -24
          mthca_query_qp                               814     790     -24
          mthca_query_pkey                             343     319     -24
          mthca_SET_ICM_SIZE                            34      10     -24
          mthca_QUERY_DEV_LIM                         1870    1846     -24
          mthca_map_cmd                               1130    1105     -25
          mthca_ENABLE_LAM                             401     375     -26
          mthca_modify_port                            247     220     -27
          mthca_query_device                           884     850     -34
          mthca_NOP                                     75      41     -34
          mthca_table_get                              287     249     -38
          mthca_init_qp_table                          333     293     -40
          mthca_MODIFY_QP                              348     308     -40
          mthca_close_hca                              131      89     -42
          mthca_free_eq                                435     390     -45
          mthca_query_port                             755     705     -50
          mthca_free_cq                                581     528     -53
          mthca_alloc_icm_table                        578     524     -54
          mthca_multicast_attach                      1041     986     -55
          mthca_init_hca                               326     271     -55
          mthca_query_gid                              487     431     -56
          mthca_free_srq                               524     468     -56
          mthca_free_mr                                168     111     -57
          mthca_create_eq                             1560    1501     -59
          mthca_multicast_detach                       790     728     -62
          mthca_write_mtt                              918     854     -64
          mthca_register_device                       1406    1342     -64
          mthca_fmr_alloc                              947     883     -64
          mthca_mr_alloc                               652     582     -70
          mthca_process_mad                           1242    1164     -78
          mthca_dev_lim                                910     830     -80
          find_mgm                                     482     400     -82
          mthca_modify_qp                             3852    3753     -99
          mthca_init_cq                               1281    1181    -100
          mthca_alloc_srq                             1719    1610    -109
          mthca_init_eq_table                         1807    1679    -128
          mthca_init_tavor                             761     491    -270
          mthca_init_arbel                            2617    2098    -519
      Signed-off-by: NGoldwyn Rodrigues <rgoldwyn@suse.de>
      cdb73db0
  15. 23 3月, 2011 1 次提交
    • D
      IB: Increase DMA max_segment_size on Mellanox hardware · 7f9e5c48
      David Dillow 提交于
      By default, each device is assumed to be able only handle 64 KB chunks
      during DMA. By giving the segment size a larger value, the block layer
      will coalesce more S/G entries together for SRP, allowing larger
      requests with the same sg_tablesize setting.  The block layer is the
      only direct user of it, though a few IOMMU drivers reference it as
      well for their *_map_sg coalescing code. pci-gart_64 on x86, and a
      smattering on on sparc, powerpc, and ia64.
      
      Since other IB protocols could potentially see larger segments with
      this, let's check those:
      
       - iSER is fine, because you limit your maximum request size to 512
         KB, so we'll never overrun the page vector in struct iser_page_vec
         (128 entries currently). It is independent of the DMA segment size,
         and handles multi-page segments already.
      
       - IPoIB is fine, as it maps each page individually, and doesn't use
         ib_dma_map_sg().
      
       - RDS appears to do the right thing and has no dependencies on DMA
         segment size, but I don't claim to have done a complete audit.
      
       - NFSoRDMA and 9p are OK -- they do not use ib_dma_map_sg(), so they
         doesn't care about the coalescing.
      
       - Lustre's ko2iblnd does not care about coalescing -- it properly
         walks the returned sg list.
      
      This patch ups the value on Mellanox hardware to 1 GB, which matches
      reported firmware limits on mlx4.
      Signed-off-by: NDavid Dillow <dillowda@ornl.gov>
      Signed-off-by: NRoland Dreier <roland@purestorage.com>
      7f9e5c48
  16. 21 1月, 2011 1 次提交
    • D
      kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT · 6a108a14
      David Rientjes 提交于
      The meaning of CONFIG_EMBEDDED has long since been obsoleted; the option
      is used to configure any non-standard kernel with a much larger scope than
      only small devices.
      
      This patch renames the option to CONFIG_EXPERT in init/Kconfig and fixes
      references to the option throughout the kernel.  A new CONFIG_EMBEDDED
      option is added that automatically selects CONFIG_EXPERT when enabled and
      can be used in the future to isolate options that should only be
      considered for embedded systems (RISC architectures, SLOB, etc).
      
      Calling the option "EXPERT" more accurately represents its intention: only
      expert users who understand the impact of the configuration changes they
      are making should enable it.
      Reviewed-by: NIngo Molnar <mingo@elte.hu>
      Acked-by: NDavid Woodhouse <david.woodhouse@intel.com>
      Signed-off-by: NDavid Rientjes <rientjes@google.com>
      Cc: Greg KH <gregkh@suse.de>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Jens Axboe <axboe@kernel.dk>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Robin Holt <holt@sgi.com>
      Cc: <linux-arch@vger.kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      6a108a14
  17. 12 1月, 2011 1 次提交
  18. 11 1月, 2011 1 次提交
  19. 26 10月, 2010 1 次提交
    • E
      IB/core: Add VLAN support for IBoE · af7bd463
      Eli Cohen 提交于
      Add 802.1q VLAN support to IBoE. The VLAN tag is encoded within the
      GID derived from a link local address in the following way:
      
          GID[11] GID[12] contain the VLAN ID when the GID contains a VLAN.
      
      The 3 bits user priority field of the packets are identical to the 3
      bits of the SL.
      
      In case of rdma_cm apps, the TOS field is used to generate the SL
      field by doing a shift right of 5 bits effectively taking to 3 MS bits
      of the TOS field.
      Signed-off-by: NEli Cohen <eli@mellanox.co.il>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      af7bd463
  20. 15 10月, 2010 1 次提交
  21. 05 8月, 2010 1 次提交
  22. 22 5月, 2010 1 次提交
    • R
      IB/core: Allow device-specific per-port sysfs files · 9a6edb60
      Ralph Campbell 提交于
      Add a new parameter to ib_register_device() so that low-level device
      drivers can pass in a pointer to a callback function that will be
      called for each port that is registered in sysfs.  This allows
      low-level device drivers to create files in
      
          /sys/class/infiniband/<hca>/ports/<N>/
      
      without having to poke through the internals of the RDMA sysfs handling.
      
      There is no need for an unregister function since the kobject
      reference will go to zero when ib_unregister_device() is called.
      Signed-off-by: NRalph Campbell <ralph.campbell@qlogic.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      9a6edb60
  23. 22 4月, 2010 1 次提交
  24. 30 3月, 2010 1 次提交
    • T
      include cleanup: Update gfp.h and slab.h includes to prepare for breaking... · 5a0e3ad6
      Tejun Heo 提交于
      include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
      
      percpu.h is included by sched.h and module.h and thus ends up being
      included when building most .c files.  percpu.h includes slab.h which
      in turn includes gfp.h making everything defined by the two files
      universally available and complicating inclusion dependencies.
      
      percpu.h -> slab.h dependency is about to be removed.  Prepare for
      this change by updating users of gfp and slab facilities include those
      headers directly instead of assuming availability.  As this conversion
      needs to touch large number of source files, the following script is
      used as the basis of conversion.
      
        http://userweb.kernel.org/~tj/misc/slabh-sweep.py
      
      The script does the followings.
      
      * Scan files for gfp and slab usages and update includes such that
        only the necessary includes are there.  ie. if only gfp is used,
        gfp.h, if slab is used, slab.h.
      
      * When the script inserts a new include, it looks at the include
        blocks and try to put the new include such that its order conforms
        to its surrounding.  It's put in the include block which contains
        core kernel includes, in the same order that the rest are ordered -
        alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
        doesn't seem to be any matching order.
      
      * If the script can't find a place to put a new include (mostly
        because the file doesn't have fitting include block), it prints out
        an error message indicating which .h file needs to be added to the
        file.
      
      The conversion was done in the following steps.
      
      1. The initial automatic conversion of all .c files updated slightly
         over 4000 files, deleting around 700 includes and adding ~480 gfp.h
         and ~3000 slab.h inclusions.  The script emitted errors for ~400
         files.
      
      2. Each error was manually checked.  Some didn't need the inclusion,
         some needed manual addition while adding it to implementation .h or
         embedding .c file was more appropriate for others.  This step added
         inclusions to around 150 files.
      
      3. The script was run again and the output was compared to the edits
         from #2 to make sure no file was left behind.
      
      4. Several build tests were done and a couple of problems were fixed.
         e.g. lib/decompress_*.c used malloc/free() wrappers around slab
         APIs requiring slab.h to be added manually.
      
      5. The script was run on all .h files but without automatically
         editing them as sprinkling gfp.h and slab.h inclusions around .h
         files could easily lead to inclusion dependency hell.  Most gfp.h
         inclusion directives were ignored as stuff from gfp.h was usually
         wildly available and often used in preprocessor macros.  Each
         slab.h inclusion directive was examined and added manually as
         necessary.
      
      6. percpu.h was updated not to include slab.h.
      
      7. Build test were done on the following configurations and failures
         were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my
         distributed build env didn't work with gcov compiles) and a few
         more options had to be turned off depending on archs to make things
         build (like ipr on powerpc/64 which failed due to missing writeq).
      
         * x86 and x86_64 UP and SMP allmodconfig and a custom test config.
         * powerpc and powerpc64 SMP allmodconfig
         * sparc and sparc64 SMP allmodconfig
         * ia64 SMP allmodconfig
         * s390 SMP allmodconfig
         * alpha SMP allmodconfig
         * um on x86_64 SMP allmodconfig
      
      8. percpu.h modifications were reverted so that it could be applied as
         a separate patch and serve as bisection point.
      
      Given the fact that I had only a couple of failures from tests on step
      6, I'm fairly confident about the coverage of this conversion patch.
      If there is a breakage, it's likely to be something in one of the arch
      headers which should be easily discoverable easily on most builds of
      the specific arch.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Guess-its-ok-by: NChristoph Lameter <cl@linux-foundation.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
      5a0e3ad6
  25. 25 2月, 2010 1 次提交
  26. 25 9月, 2009 1 次提交
  27. 06 9月, 2009 6 次提交
  28. 23 6月, 2009 1 次提交
  29. 14 6月, 2009 1 次提交
  30. 28 5月, 2009 1 次提交
  31. 21 4月, 2009 1 次提交
  32. 07 4月, 2009 1 次提交