Skip to content
  1. Oct 29, 2019
    • Bart Van Assche's avatar
      RDMA/srpt: Fix TPG creation · 79d81ef4
      Bart Van Assche authored
      
      
      Unlike the iSCSI target driver, for the SRP target driver it is sufficient
      if a single TPG can be associated with each RDMA port name. However, users
      started associating multiple TPGs with RDMA port names. Support this by
      converting the single TPG in struct srpt_port_id into a list. This patch
      fixes the following list corruption issue:
      
       list_add corruption. prev->next should be next (ffffffffc0a080c0), but was ffffa08a994ce6f0. (prev=ffffa08a994ce6f0).
       WARNING: CPU: 2 PID: 2597 at lib/list_debug.c:28 __list_add_valid+0x6a/0x70
       CPU: 2 PID: 2597 Comm: targetcli Not tainted 5.4.0-rc1.3bfa3c9602a7 #1
       RIP: 0010:__list_add_valid+0x6a/0x70
       Call Trace:
        core_tpg_register+0x116/0x200 [target_core_mod]
        srpt_make_tpg+0x3f/0x60 [ib_srpt]
        target_fabric_make_tpg+0x41/0x290 [target_core_mod]
        configfs_mkdir+0x158/0x3e0
        vfs_mkdir+0x108/0x1a0
        do_mkdirat+0x77/0xe0
        do_syscall_64+0x55/0x1d0
        entry_SYSCALL_64_after_hwframe+0x44/0xa9
      
      Link: https://lore.kernel.org/r/20191023204106.23326-1-bvanassche@acm.org
      Reported-by: default avatarHonggang LI <honli@redhat.com>
      Fixes: a42d985b
      
       ("ib_srpt: Initial SRP Target merge for v3.3-rc1")
      Signed-off-by: default avatarBart Van Assche <bvanassche@acm.org>
      Acked-by: default avatarHonggang Li <honli@redhat.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      79d81ef4
    • Leon Romanovsky's avatar
      RDMA/hns: Delete BITS_PER_BYTE redefinition · f9e66db1
      Leon Romanovsky authored
      
      
      HNS redefined available in bits.h define and didn't use it, we can safely
      delete it.
      
      Link: https://lore.kernel.org/r/20191023054239.31648-1-leon@kernel.org
      Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      f9e66db1
  2. Oct 28, 2019
  3. Oct 25, 2019
  4. Oct 24, 2019
  5. Oct 23, 2019
    • Parav Pandit's avatar
      IB/core: Do not notify GID change event of an unregistered device · c4c8aff5
      Parav Pandit authored
      
      
      When IB device is undergoing unregistration, the GID cache is always
      cleaned up after all clients are unregistered with the below flow.
      
      __ib_unregister_device()
        disable_device()
        ib_cache_cleanup_one()
          gid_table_cleanup_one()
            cleanup_gid_table_port()
      
      There is no use in generating a GID change event at this stage, where
      there is no active client of the device and device is nearly unregistered.
      
      Link: https://lore.kernel.org/r/20191020065427.8772-4-leon@kernel.org
      Signed-off-by: default avatarParav Pandit <parav@mellanox.com>
      Reviewed-by: default avatarDaniel Jurgens <danielj@mellanox.com>
      Reviewed-by: default avatarLeon Romanovsky <leonro@mellanox.com>
      Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
      Reviewed-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      c4c8aff5
    • Michael Guralnik's avatar
      IB/mlx5: Align usage of QP1 create flags with rest of mlx5 defines · 3f89b01f
      Michael Guralnik authored
      
      
      There is little value in keeping separate function for one flag, provide
      it directly like any other mlx5 define.
      
      Link: https://lore.kernel.org/r/20191020064400.8344-2-leon@kernel.org
      Signed-off-by: default avatarMichael Guralnik <michaelgur@mellanox.com>
      Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
      Reviewed-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      3f89b01f
    • Ran Rozenstein's avatar
      IB/mlx5: Remove dead code · 68abaa76
      Ran Rozenstein authored
      mlx5_ib_dc_atomic_is_supported function is not used anywhere. Remove the
      dead code.
      
      Fixes: a60109dc
      
       ("IB/mlx5: Add support for extended atomic operations")
      Link: https://lore.kernel.org/r/20191020064454.8551-1-leon@kernel.org
      Signed-off-by: default avatarRan Rozenstein <ranro@mellanox.com>
      Reviewed-by: default avatarMaor Gottlieb <maorg@mellanox.com>
      Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
      Reviewed-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      68abaa76
    • Chuhong Yuan's avatar
      RDMA/uverbs: Add a check for uverbs_attr_get to uverbs_copy_to_struct_or_zero · a29e1012
      Chuhong Yuan authored
      
      
      All current callers for uverbs_copy_to_struct_or_zero() already check that
      the attribute exists, but it make sense to verify the result like the
      other functions do.
      
      Link: https://lore.kernel.org/r/20191018081533.8544-1-hslester96@gmail.com
      Signed-off-by: default avatarChuhong Yuan <hslester96@gmail.com>
      Reviewed-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      a29e1012
    • Parav Pandit's avatar
      IB/cma: Honor traffic class from lower netdevice for RoCE · d3bd9396
      Parav Pandit authored
      
      
      When a macvlan netdevice is used for RoCE, consider the tos->prio->tc
      mapping as SL using its lower netdevice.
      
      1. If the lower netdevice is a VLAN netdevice, consider the VLAN netdevice
         and it's parent netdevice for mapping
      2. If the lower netdevice is not a VLAN netdevice, consider tc mapping
         directly from the lower netdevice
      
      Link: https://lore.kernel.org/r/20191015072058.17347-1-leon@kernel.org
      Signed-off-by: default avatarParav Pandit <parav@mellanox.com>
      Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
      Reviewed-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      d3bd9396
    • Erez Alfasi's avatar
      RDMA/nldev: Provide MR statistics · 4061ff7a
      Erez Alfasi authored
      
      
      Add RDMA nldev netlink interface for dumping MR statistics information.
      
      Output example:
      
      $ ./ibv_rc_pingpong -o -P -s 500000000
        local address:  LID 0x0001, QPN 0x00008a, PSN 0xf81096, GID ::
      
      $ rdma stat show mr
      dev mlx5_0 mrn 2 page_faults 122071 page_invalidations 0
      
      Link: https://lore.kernel.org/r/20191016062308.11886-5-leon@kernel.org
      Signed-off-by: default avatarErez Alfasi <ereza@mellanox.com>
      Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
      Reviewed-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      4061ff7a
    • Erez Alfasi's avatar
      RDMA/mlx5: Return ODP type per MR · e1b95ae0
      Erez Alfasi authored
      
      
      Provide an ODP explicit/implicit type as part of 'rdma -dd resource show
      mr' dump.
      
      For example:
      
      $ rdma -dd resource show mr
      dev mlx5_0 mrn 1 rkey 0xa99a lkey 0xa99a mrlen 50000000
      pdn 9 pid 7372 comm ibv_rc_pingpong drv_odp explicit
      
      For non-ODP MRs, we won't print "drv_odp ..." at all.
      
      Link: https://lore.kernel.org/r/20191016062308.11886-4-leon@kernel.org
      Signed-off-by: default avatarErez Alfasi <ereza@mellanox.com>
      Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
      Reviewed-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      e1b95ae0
    • Erez Alfasi's avatar
      RDMA/nldev: Allow different fill function per resource · fb910690
      Erez Alfasi authored
      
      
      So far res_get_common_{dumpit, doit} was using the default resource fill
      function which was defined as part of the nldev_fill_res_entry
      fill_entries.
      
      Add a fill function pointer as an argument allows us to use different fill
      function in case we want to dump different values then 'rdma resource'
      flow do, but still use the same existing general resources dumping flow.
      
      Link: https://lore.kernel.org/r/20191016062308.11886-3-leon@kernel.org
      Signed-off-by: default avatarErez Alfasi <ereza@mellanox.com>
      Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
      Reviewed-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      fb910690
    • Erez Alfasi's avatar
      IB/mlx5: Introduce ODP diagnostic counters · a3de94e3
      Erez Alfasi authored
      
      
      Introduce ODP diagnostic counters and count the following
      per MR within IB/mlx5 driver:
       1) Page faults:
      	Total number of faulted pages.
       2) Page invalidations:
      	Total number of pages invalidated by the OS during all
      	invalidation events. The translations can be no longer
      	valid due to either non-present pages or mapping changes.
      
      Link: https://lore.kernel.org/r/20191016062308.11886-2-leon@kernel.org
      Signed-off-by: default avatarErez Alfasi <ereza@mellanox.com>
      Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
      Reviewed-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      a3de94e3
    • rd.dunlab@gmail.com's avatar
      infiniband: add a Documentation driver-api chapter for Infiniband · 75e70add
      rd.dunlab@gmail.com authored
      
      
      Add a driver-api chapter for InfiniBand interfaces.
      
      Link: https://lore.kernel.org/r/20191010035240.310347906@gmail.com
      Signed-off-by: default avatarRandy Dunlap <rd.dunlab@gmail.com>
      Reviewed-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      75e70add
    • rd.dunlab@gmail.com's avatar
      infiniband: fix sw/rdmavt/ kernel-doc notation · 7c21072d
      rd.dunlab@gmail.com authored
      
      
      Add kernel-doc for missing function parameters.
      Remove excess kernel-doc descriptions.
      Fix expected kernel-doc formatting (use ':' instead of '-' after @funcarg).
      
      ../drivers/infiniband/sw/rdmavt/ah.c:138: warning: Excess function parameter 'udata' description in 'rvt_destroy_ah'
      ../drivers/infiniband/sw/rdmavt/vt.c:698: warning: Function parameter or member 'pkey_table' not described in 'rvt_init_port'
      ../drivers/infiniband/sw/rdmavt/cq.c:561: warning: Excess function parameter 'rdi' description in 'rvt_driver_cq_init'
      ../drivers/infiniband/sw/rdmavt/cq.c:575: warning: Excess function parameter 'rdi' description in 'rvt_cq_exit'
      ../drivers/infiniband/sw/rdmavt/qp.c:2573: warning: Function parameter or member 'qp' not described in 'rvt_add_rnr_timer'
      ../drivers/infiniband/sw/rdmavt/qp.c:2573: warning: Function parameter or member 'aeth' not described in 'rvt_add_rnr_timer'
      ../drivers/infiniband/sw/rdmavt/qp.c:2591: warning: Function parameter or member 'qp' not described in 'rvt_stop_rc_timers'
      ../drivers/infiniband/sw/rdmavt/qp.c:2624: warning: Function parameter or member 'qp' not described in 'rvt_del_timers_sync'
      ../drivers/infiniband/sw/rdmavt/qp.c:2697: warning: Function parameter or member 'cb' not described in 'rvt_qp_iter_init'
      ../drivers/infiniband/sw/rdmavt/qp.c:2728: warning: Function parameter or member 'iter' not described in 'rvt_qp_iter_next'
      ../drivers/infiniband/sw/rdmavt/qp.c:2796: warning: Function parameter or member 'rdi' not described in 'rvt_qp_iter'
      ../drivers/infiniband/sw/rdmavt/qp.c:2796: warning: Function parameter or member 'v' not described in 'rvt_qp_iter'
      ../drivers/infiniband/sw/rdmavt/qp.c:2796: warning: Function parameter or member 'cb' not described in 'rvt_qp_iter'
      
      Link: https://lore.kernel.org/r/20191010035240.251184229@gmail.com
      Signed-off-by: default avatarRandy Dunlap <rd.dunlab@gmail.com>
      Reviewed-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      7c21072d
    • rd.dunlab@gmail.com's avatar
      infiniband: fix core/ kernel-doc notation · d6537c1a
      rd.dunlab@gmail.com authored
      
      
      Correct function parameter names (typos or renames).
      Add kernel-doc notation for missing function parameters.
      
      ../drivers/infiniband/core/sa_query.c:1263: warning: Function parameter or member 'gid_attr' not described in 'ib_init_ah_attr_from_path'
      ../drivers/infiniband/core/sa_query.c:1263: warning: Excess function parameter 'sgid_attr' description in 'ib_init_ah_attr_from_path'
      
      ../drivers/infiniband/core/device.c:145: warning: Function parameter or member 'dev' not described in 'rdma_dev_access_netns'
      ../drivers/infiniband/core/device.c:145: warning: Excess function parameter 'device' description in 'rdma_dev_access_netns'
      ../drivers/infiniband/core/device.c:1333: warning: Function parameter or member 'name' not described in 'ib_register_device'
      ../drivers/infiniband/core/device.c:1461: warning: Function parameter or member 'ib_dev' not described in 'ib_unregister_device'
      ../drivers/infiniband/core/device.c:1461: warning: Excess function parameter 'device' description in 'ib_unregister_device'
      ../drivers/infiniband/core/device.c:1483: warning: Function parameter or member 'ib_dev' not described in 'ib_unregister_device_and_put'
      ../drivers/infiniband/core/device.c:1550: warning: Function parameter or member 'ib_dev' not described in 'ib_unregister_device_queued'
      
      Link: https://lore.kernel.org/r/20191010035240.191542461@gmail.com
      Signed-off-by: default avatarRandy Dunlap <rd.dunlab@gmail.com>
      Reviewed-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      d6537c1a
    • rd.dunlab@gmail.com's avatar
      infiniband: fix ulp/iser/iser_initiator.c kernel-doc warnings · b24da1a0
      rd.dunlab@gmail.com authored
      
      
      Add kernel-doc notation for missing function parameters:
      
      ../drivers/infiniband/ulp/iser/iser_initiator.c:365: warning: Function parameter or member 'conn' not described in 'iser_send_command'
      ../drivers/infiniband/ulp/iser/iser_initiator.c:365: warning: Function parameter or member 'task' not described in 'iser_send_command'
      ../drivers/infiniband/ulp/iser/iser_initiator.c:437: warning: Function parameter or member 'conn' not described in 'iser_send_data_out'
      ../drivers/infiniband/ulp/iser/iser_initiator.c:437: warning: Function parameter or member 'task' not described in 'iser_send_data_out'
      ../drivers/infiniband/ulp/iser/iser_initiator.c:437: warning: Function parameter or member 'hdr' not described in 'iser_send_data_out'
      
      Link: https://lore.kernel.org/r/20191010035240.132033937@gmail.com
      Signed-off-by: default avatarRandy Dunlap <rd.dunlab@gmail.com>
      Reviewed-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      b24da1a0
    • rd.dunlab@gmail.com's avatar
      infiniband: fix ulp/iser/iser_verbs.c kernel-doc notation · 134a42a6
      rd.dunlab@gmail.com authored
      
      
      Various kernel-doc fixes:
      
      - fix typos
      - don't use /** for internal structs or functions
      - fix Return: kernel-doc formatting
      - add kernel-doc notation for missing function parameters
      
      ../drivers/infiniband/ulp/iser/iser_verbs.c:159: warning: Function parameter or member 'ib_conn' not described in 'iser_alloc_fmr_pool'
      ../drivers/infiniband/ulp/iser/iser_verbs.c:159: warning: Function parameter or member 'cmds_max' not described in 'iser_alloc_fmr_pool'
      ../drivers/infiniband/ulp/iser/iser_verbs.c:159: warning: Function parameter or member 'size' not described in 'iser_alloc_fmr_pool'
      ../drivers/infiniband/ulp/iser/iser_verbs.c:221: warning: Function parameter or member 'ib_conn' not described in 'iser_free_fmr_pool'
      ../drivers/infiniband/ulp/iser/iser_verbs.c:304: warning: Function parameter or member 'ib_conn' not described in 'iser_alloc_fastreg_pool'
      ../drivers/infiniband/ulp/iser/iser_verbs.c:304: warning: Function parameter or member 'cmds_max' not described in 'iser_alloc_fastreg_pool'
      ../drivers/infiniband/ulp/iser/iser_verbs.c:304: warning: Function parameter or member 'size' not described in 'iser_alloc_fastreg_pool'
      ../drivers/infiniband/ulp/iser/iser_verbs.c:338: warning: Function parameter or member 'ib_conn' not described in 'iser_free_fastreg_pool'
      ../drivers/infiniband/ulp/iser/iser_verbs.c:568: warning: Function parameter or member 'iser_conn' not described in 'iser_conn_release'
      ../drivers/infiniband/ulp/iser/iser_verbs.c:603: warning: Function parameter or member 'iser_conn' not described in 'iser_conn_terminate'
      ../drivers/infiniband/ulp/iser/iser_verbs.c:1040: warning: Function parameter or member 'signal' not described in 'iser_post_send'
      ../drivers/infiniband/ulp/iser/iser_verbs.c:1040: warning: Function parameter or member 'ib_conn' not described in 'iser_post_send'
      ../drivers/infiniband/ulp/iser/iser_verbs.c:1040: warning: Function parameter or member 'tx_desc' not described in 'iser_post_send'
      
      Link: https://lore.kernel.org/r/20191010035240.070520193@gmail.com
      Signed-off-by: default avatarRandy Dunlap <rd.dunlab@gmail.com>
      Reviewed-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      134a42a6
    • rd.dunlab@gmail.com's avatar
      infiniband: fix core/verbs.c kernel-doc notation · 094c88f3
      rd.dunlab@gmail.com authored
      
      
      Add missing function parameter descriptions:
      
      ../drivers/infiniband/core/verbs.c:257: warning: Function parameter or member 'flags' not described in '__ib_alloc_pd'
      ../drivers/infiniband/core/verbs.c:257: warning: Function parameter or member 'caller' not described in '__ib_alloc_pd'
      
      Link: https://lore.kernel.org/r/20191010035240.011497492@gmail.com
      Signed-off-by: default avatarRandy Dunlap <rd.dunlab@gmail.com>
      Reviewed-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      094c88f3
    • rd.dunlab@gmail.com's avatar
      infiniband: fix ulp/srpt/ib_srpt.h kernel-doc notation · 96f4b0b6
      rd.dunlab@gmail.com authored
      
      
      Fix kernel-doc warnings (typos or renames) in ib_srpt.h:
      
      ../drivers/infiniband/ulp/srpt/ib_srpt.h:419: warning: Function parameter or member 'port_guid_id' not described in 'srpt_port'
      ../drivers/infiniband/ulp/srpt/ib_srpt.h:419: warning: Function parameter or member 'port_gid_id' not described in 'srpt_port'
      
      Link: https://lore.kernel.org/r/20191010035239.950150496@gmail.com
      Signed-off-by: default avatarRandy Dunlap <rd.dunlab@gmail.com>
      Reviewed-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      96f4b0b6
    • rd.dunlab@gmail.com's avatar
      infiniband: fix ulp/opa_vnic/opa_vnic_internal.h kernel-doc notation · dfa4344d
      rd.dunlab@gmail.com authored
      
      
      Remove kernel-doc notation on 4 structs since they are internal and
      none of the struct fields/members are described.
      This removes 45 kernel-doc warnings.
      
      Link: https://lore.kernel.org/r/20191010035239.818405496@gmail.com
      Signed-off-by: default avatarRandy Dunlap <rd.dunlab@gmail.com>
      Reviewed-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      dfa4344d
    • rd.dunlab@gmail.com's avatar
      infiniband: fix ulp/iser/iscsi_iser.h kernel-doc warnings · 28f2a6ae
      rd.dunlab@gmail.com authored
      
      
      Fix kernel-doc warnings and typos/spellos.
      
      ../drivers/infiniband/ulp/iser/iscsi_iser.h:254: warning: Function parameter or member 'dma_addr' not described in 'iser_tx_desc'
      ../drivers/infiniband/ulp/iser/iscsi_iser.h:254: warning: Function parameter or member 'cqe' not described in 'iser_tx_desc'
      ../drivers/infiniband/ulp/iser/iscsi_iser.h:254: warning: Function parameter or member 'reg_wr' not described in 'iser_tx_desc'
      ../drivers/infiniband/ulp/iser/iscsi_iser.h:254: warning: Function parameter or member 'send_wr' not described in 'iser_tx_desc'
      ../drivers/infiniband/ulp/iser/iscsi_iser.h:254: warning: Function parameter or member 'inv_wr' not described in 'iser_tx_desc'
      ../drivers/infiniband/ulp/iser/iscsi_iser.h:277: warning: Function parameter or member 'cqe' not described in 'iser_rx_desc'
      ../drivers/infiniband/ulp/iser/iscsi_iser.h:296: warning: Function parameter or member 'rsp' not described in 'iser_login_desc'
      ../drivers/infiniband/ulp/iser/iscsi_iser.h:339: warning: Function parameter or member 'reg_mem' not described in 'iser_reg_ops'
      ../drivers/infiniband/ulp/iser/iscsi_iser.h:399: warning: Function parameter or member 'all_list' not described in 'iser_fr_desc'
      ../drivers/infiniband/ulp/iser/iscsi_iser.h:413: warning: Function parameter or member 'all_list' not described in 'iser_fr_pool'
      ../drivers/infiniband/ulp/iser/iscsi_iser.h:439: warning: Function parameter or member 'reg_cqe' not described in 'ib_conn'
      ../drivers/infiniband/ulp/iser/iscsi_iser.h:491: warning: Function parameter or member 'snd_w_inv' not described in 'iser_conn'
      
      This leaves 2 "member not described" warnings that I don't know how to fix:
      
      ../drivers/infiniband/ulp/iser/iscsi_iser.h:401: warning: Function parameter or member 'all_list' not described in 'iser_fr_desc'
      ../drivers/infiniband/ulp/iser/iscsi_iser.h:415: warning: Function parameter or member 'all_list' not described in 'iser_fr_pool'
      
      Link: https://lore.kernel.org/r/20191010035239.756365352@gmail.com
      Signed-off-by: default avatarRandy Dunlap <rd.dunlab@gmail.com>
      Reviewed-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      28f2a6ae
    • rd.dunlab@gmail.com's avatar
      infiniband: fix core/ipwm_util.h kernel-doc warnings · 526f2c50
      rd.dunlab@gmail.com authored
      
      
      Fix kernel-doc warnings and expected formatting.
      
      ../drivers/infiniband/core/iwpm_util.h:219: warning: Function parameter or member 'a_sockaddr' not described in 'iwpm_compare_sockaddr'
      ../drivers/infiniband/core/iwpm_util.h:219: warning: Function parameter or member 'b_sockaddr' not described in 'iwpm_compare_sockaddr'
      ../drivers/infiniband/core/iwpm_util.h:280: warning: Function parameter or member 'iwpm_pid' not described in 'iwpm_send_hello'
      
      Link: https://lore.kernel.org/r/20191010035239.695604406@gmail.com
      Signed-off-by: default avatarRandy Dunlap <rd.dunlab@gmail.com>
      Reviewed-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      526f2c50
    • rd.dunlab@gmail.com's avatar
      infiniband: fix ulp/iser/iscsi_iser.[hc] kernel-doc notation · df130f87
      rd.dunlab@gmail.com authored
      
      
      Fix struct name in kernel-doc notation to match the struct name below it.
      Fix one typo (spello).
      Fix formatting as expected for kernel-doc notation.
      Fix parameter name to match the function's parameter name to eliminate a
      kernel-doc warning.
      
      ../drivers/infiniband/ulp/iser/iscsi_iser.c:815: warning: Function parameter or member 'non_blocking' not described in 'iscsi_iser_ep_connect'
      
      Link: https://lore.kernel.org/r/20191010035239.623888112@gmail.com
      Signed-off-by: default avatarRandy Dunlap <rd.dunlab@gmail.com>
      Reviewed-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      df130f87
    • Jason Gunthorpe's avatar
      Merge branch 'mlx5-rd-sgl' into rdma.git for-next · a2aca4d7
      Jason Gunthorpe authored
      From Yamin Friedman:
      
      ====================
      This series from Yamin implements long standing "TODO" existed in rw.c. It
      allows the driver to specify a cut-over point where it is faster to build
      a lkey MR rather than do a large SGL for RDMA READ operations.
      
      mlx5 HW gets a notable performane boost by switching to MRs.
      ====================
      
      Based on the mlx5-next branch from
      git://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux for
      dependencies
      
      * branch 'mlx5-rd-sgl': (3 commits)
        RDMA/mlx5: Add capability for max sge to get optimized performance
        RDMA/rw: Support threshold for registration vs scattering to local pages
        net/mlx5: Expose optimal performance scatter entries capability
      a2aca4d7
    • Yamin Friedman's avatar
      RDMA/mlx5: Add capability for max sge to get optimized performance · 36609056
      Yamin Friedman authored
      
      
      Allows the IB device to provide a value of maximum scatter gather entries
      per RDMA READ.
      
      In certain cases it may be preferable for a device to perform UMR memory
      registration rather than have many scatter entries in a single RDMA READ.
      This provides a significant performance increase in devices capable of
      using different memory registration schemes based on the number of scatter
      gather entries. This general capability allows each device vendor to fine
      tune when it is better to use memory registration.
      
      Link: https://lore.kernel.org/r/20191007135933.12483-4-leon@kernel.org
      Signed-off-by: default avatarYamin Friedman <yaminf@mellanox.com>
      Reviewed-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      36609056
    • Yamin Friedman's avatar
      RDMA/rw: Support threshold for registration vs scattering to local pages · 00bd1439
      Yamin Friedman authored
      
      
      If there are more scatter entries than the recommended limit provided by
      the ib device, UMR registration is used. This will provide optimal
      performance when performing large RDMA READs over devices that advertise
      the threshold capability.
      
      With ConnectX-5 running NVMeoF RDMA with FIO single QP 128KB writes:
      Without use of cap: 70Gb/sec
      With use of cap: 84Gb/sec
      
      Link: https://lore.kernel.org/r/20191007135933.12483-3-leon@kernel.org
      Signed-off-by: default avatarYamin Friedman <yaminf@mellanox.com>
      Reviewed-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      00bd1439
    • Bernard Metzler's avatar
      RDMA/siw: Fix SQ/RQ drain logic · cf049bb3
      Bernard Metzler authored
      Storage ULPs (e.g. iSER & NVMeOF) use ib_drain_qp() to drain
      QP/CQ. Current SIW's own drain routines do not properly wait until all
      SQ/RQ elements are completed and reaped from the CQ. This may cause touch
      after free issues.  New logic relies on generic
      __ib_drain_sq()/__ib_drain_rq() posting a final work request, which SIW
      immediately flushes to CQ.
      
      Fixes: 303ae1cd
      
       ("rdma/siw: application interface")
      Link: https://lore.kernel.org/r/20191004125356.20673-1-bmt@zurich.ibm.com
      Signed-off-by: default avatarKrishnamraju Eraparaju <krishna2@chelsio.com>
      Signed-off-by: default avatarBernard Metzler <bmt@zurich.ibm.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      cf049bb3
  6. Oct 22, 2019