1. 04 Jun, 2018 4 commits
    • Max Gurtovoy's avatar
      IB/iser: use T10-PI check mask definitions from core layer · c6c2c03a
      Max Gurtovoy authored
      No reason to re-define protection information check in ib_iser driver.
      Use check masks from RDMA core driver.
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Reviewed-by: default avatarSagi Grimberg <sagi@grimberg.me>
      Reviewed-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      Signed-off-by: default avatarMax Gurtovoy <maxg@mellanox.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      c6c2c03a
    • Max Gurtovoy's avatar
      RDMA/core: introduce check masks for T10-PI offload · ca24da00
      Max Gurtovoy authored
      T10-PI offload capability is currently supported in iSER protocol only,
      and the definition of the HCA protection information checks are missing
      from the core layer. Add those definition to avoid code duplication in
      other drivers (such iSER target and NVMeoF).
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Reviewed-by: default avatarSagi Grimberg <sagi@grimberg.me>
      Reviewed-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      Signed-off-by: default avatarMax Gurtovoy <maxg@mellanox.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      ca24da00
    • Max Gurtovoy's avatar
      IB/isert: fix T10-pi check mask setting · 0e12af84
      Max Gurtovoy authored
      A copy/paste bug (probably) caused setting of an app_tag check mask
      in case where a ref_tag check was needed.
      
      Fixes: 38a2d0d4 ("IB/isert: convert to the generic RDMA READ/WRITE API")
      Fixes: 9e961ae7 ("IB/isert: Support T10-PI protected transactions")
      Cc: stable@vger.kernel.org
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Reviewed-by: default avatarSagi Grimberg <sagi@grimberg.me>
      Reviewed-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      Signed-off-by: default avatarMax Gurtovoy <maxg@mellanox.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      0e12af84
    • Jason Gunthorpe's avatar
      Merge tag 'verbs_flow_counters' of... · 0f45e69d
      Jason Gunthorpe authored
      Merge tag 'verbs_flow_counters' of git://git.kernel.org/pub/scm/linux/kernel/git/leon/linux-rdma.git into for-next
      
      Pull verbs counters series from Leon Romanovsky:
      
      ====================
      Verbs flow counters support
      
      This series comes to allow user space applications to monitor real time
      traffic activity and events of the verbs objects it manages, e.g.: ibv_qp,
      ibv_wq, ibv_flow.
      
      The API enables generic counters creation and define mapping to
      association with a verbs object, the current mlx5 driver is using this API
      for flow counters.
      
      With this API, an application can monitor the entire life cycle of object
      activity, defined here as a static counters attachment.  This API also
      allows dynamic counters monitoring of measurement points for a partial
      period in the verbs object life cycle.
      
      In addition it presents the implementation of the generic counters
      interface.
      
      This will be achieved by extending flow creation by adding a new flow
      count specification type which allows the user to associate a previously
      created flow counters using the generic verbs counters interface to the
      created flow, once associated the user could read statistics by using the
      read function of the generic counters interface.
      
      The API includes:
      1. create and destroyed API of a new counters objects
      2. read the counters values from HW
      
      Note:
      Attaching API to allow application to define the measurement points per
      objects is a user space only API and this data is passed to kernel when
      the counted object (e.g. flow) is created with the counters object.
      ===================
      
      * tag 'verbs_flow_counters':
        IB/mlx5: Add counters read support
        IB/mlx5: Add flow counters read support
        IB/mlx5: Add flow counters binding support
        IB/mlx5: Add counters create and destroy support
        IB/uverbs: Add support for flow counters
        IB/core: Add support for flow counters
        IB/core: Support passing uhw for create_flow
        IB/uverbs: Add read counters support
        IB/core: Introduce counters read verb
        IB/uverbs: Add create/destroy counters support
        IB/core: Introduce counters object and its create/destroy
        IB/uverbs: Add an ib_uobject getter to ioctl() infrastructure
        net/mlx5: Export flow counter related API
        net/mlx5: Use flow counter pointer as input to the query function
      0f45e69d
  2. 02 Jun, 2018 14 commits
  3. 01 Jun, 2018 11 commits
  4. 31 May, 2018 7 commits
    • Colin Ian King's avatar
      RDMA/qedr: fix spelling mistake: "adrresses" -> "addresses" · 367d2f07
      Colin Ian King authored
      Trivial fix to spelling mistake in DP_ERR error message
      Signed-off-by: default avatarColin Ian King <colin.king@canonical.com>
      Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
      367d2f07
    • Sergey Gorenko's avatar
      IB/iser: Do not reduce max_sectors · 434dda42
      Sergey Gorenko authored
      The iSER driver reduces max_sectors. For example, if you load the
      ib_iser module with max_sectors=1024, you will see that
      /sys/class/block/<bdev>/queue/max_hw_sectors_kb is 508. It is an
      incorrect value. The expected value is (max_sectors * sector_size) /
      1024 = 512.
      
      Reducing of max_sectors can cause performance degradation due to
      unnecessary splitting of IO requests.
      
      The number of pages per MR has been fixed here, so there is no longer
      any need to reduce max_sectors.
      
      Fixes: 9c674815 ("IB/iser: Fix max_sectors calculation")
      Signed-off-by: default avatarSergey Gorenko <sergeygo@mellanox.com>
      Reviewed-by: default avatarIsrael Rukshin <israelr@mellanox.com>
      Reviewed-by: default avatarMax Gurtovoy <maxg@mellanox.com>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Sagi Grimberg <sagi@grimberg.me>
      Acked-by: default avatarSagi Grimberg <sagi@grimberg.me>
      Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
      434dda42
    • Doug Ledford's avatar
      01298c0c
    • Wei Hu(Xavier)'s avatar
      RDMA/hns: Implement the disassociate_ucontext API · fedc3abe
      Wei Hu(Xavier) authored
      This patch implemented the IB core disassociate_ucontext API.
      Signed-off-by: default avatarWei Hu (Xavier) <xavier.huwei@huawei.com>
      Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
      fedc3abe
    • Wei Hu(Xavier)'s avatar
      RDMA/uverbs: Hoist the common process of disassociate_ucontext into ib core · a0976f41
      Wei Hu(Xavier) authored
      This patch hoisted the common process of disassociate_ucontext
      callback function into ib core code, and these code are common
      to ervery ib_device driver.
      Signed-off-by: default avatarWei Hu (Xavier) <xavier.huwei@huawei.com>
      Acked-by: default avatarLeon Romanovsky <leonro@mellanox.com>
      Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
      a0976f41
    • Wei Hu(Xavier)'s avatar
      RDMA/hns: Fix the illegal memory operation when cross page · 0b25c9cc
      Wei Hu(Xavier) authored
      This patch fixed the potential illegal operation when using the
      extend sge buffer cross page in post send operation. The bug
      will cause the calltrace as below.
      
      [ 3302.922107] Unable to handle kernel paging request at virtual address ffff00003b3a0004
      [ 3302.930009] Mem abort info:
      [ 3302.932790]   Exception class = DABT (current EL), IL = 32 bits
      [ 3302.938695]   SET = 0, FnV = 0
      [ 3302.941735]   EA = 0, S1PTW = 0
      [ 3302.944863] Data abort info:
      [ 3302.947729]   ISV = 0, ISS = 0x00000047
      [ 3302.951551]   CM = 0, WnR = 1
      [ 3302.954506] swapper pgtable: 4k pages, 48-bit VAs, pgd = ffff000009ea5000
      [ 3302.961279] [ffff00003b3a0004] *pgd=00000023dfffe003, *pud=00000023dfffd003, *pmd=00000022dc84c003, *pte=0000000000000000
      [ 3302.972224] Internal error: Oops: 96000047 [#1] SMP
      [ 3302.999509] CPU: 9 PID: 19628 Comm: roce_test_main Tainted: G           OE   4.14.10 #1
      [ 3303.007498] task: ffff80234df78000 task.stack: ffff00000f640000
      [ 3303.013412] PC is at hns_roce_v2_post_send+0x690/0xe20 [hns_roce_pci]
      [ 3303.019843] LR is at hns_roce_v2_post_send+0x658/0xe20 [hns_roce_pci]
      [ 3303.026269] pc : [<ffff0000020694f8>] lr : [<ffff0000020694c0>] pstate: 804001c9
      [ 3303.033649] sp : ffff00000f643870
      [ 3303.036951] x29: ffff00000f643870 x28: ffff80232bfa9c00
      [ 3303.042250] x27: ffff80234d909380 x26: ffff00003b37f0c0
      [ 3303.047549] x25: 0000000000000000 x24: 0000000000000003
      [ 3303.052848] x23: 0000000000000000 x22: 0000000000000000
      [ 3303.058148] x21: 0000000000000101 x20: 0000000000000001
      [ 3303.063447] x19: ffff80236163f800 x18: 0000000000000000
      [ 3303.068746] x17: 0000ffff86b76fc8 x16: ffff000008301600
      [ 3303.074045] x15: 000020a51c000000 x14: 3128726464615f65
      [ 3303.079344] x13: 746f6d6572202c29 x12: 303035312879656b
      [ 3303.084643] x11: 723a6f666e692072 x10: 573a6f666e693a5d
      [ 3303.089943] x9 : 0000000000000004 x8 : ffff8023ce38b000
      [ 3303.095242] x7 : ffff8023ce38b320 x6 : 0000000000000418
      [ 3303.100541] x5 : ffff80232bfa9cc8 x4 : 0000000000000030
      [ 3303.105839] x3 : 0000000000000100 x2 : 0000000000000200
      [ 3303.111138] x1 : 0000000000000320 x0 : ffff00003b3a0000
      [ 3303.116438] Process roce_test_main (pid: 19628, stack limit = 0xffff00000f640000)
      [ 3303.123906] Call trace:
      [ 3303.126339] Exception stack(0xffff00000f643730 to 0xffff00000f643870)
      [ 3303.215790] [<ffff0000020694f8>] hns_roce_v2_post_send+0x690/0xe20 [hns_roce_pci]
      [ 3303.223293] [<ffff0000021c3750>] rt_ktest_post_send+0x5d0/0x8b8 [rdma_test]
      [ 3303.230261] [<ffff0000021b3234>] exec_send_cmd+0x664/0x1350 [rdma_test]
      [ 3303.236881] [<ffff0000021b8b30>] rt_ktest_dispatch_cmd_3+0x1510/0x3790 [rdma_test]
      [ 3303.244455] [<ffff0000021bae54>] rt_ktest_dispatch_cmd_2+0xa4/0x118 [rdma_test]
      [ 3303.251770] [<ffff0000021bafec>] rt_ktest_dispatch_cmd+0x124/0xaa8 [rdma_test]
      [ 3303.258997] [<ffff0000021bbc3c>] rt_ktest_dev_write+0x2cc/0x568 [rdma_test]
      [ 3303.265947] [<ffff0000082ad688>] __vfs_write+0x60/0x18c
      [ 3303.271158] [<ffff0000082ad998>] vfs_write+0xa8/0x198
      [ 3303.276196] [<ffff0000082adc7c>] SyS_write+0x6c/0xd4
      [ 3303.281147] Exception stack(0xffff00000f643ec0 to 0xffff00000f644000)
      [ 3303.287573] 3ec0: 0000000000000003 0000fffffc85faa8 0000000000004e60 0000000000000000
      [ 3303.295388] 3ee0: 0000000021fb2000 000000000000ffff eff0e3efe4e58080 0000fffffcc724fe
      [ 3303.303204] 3f00: 0000000000000040 1999999999999999 0101010101010101 0000000000000038
      [ 3303.311019] 3f20: 0000000000000005 ffffffffffffffff 0d73757461747320 ffffffffffffffff
      [ 3303.318835] 3f40: 0000000000000000 0000000000459b00 0000fffffc85e360 000000000043d788
      [ 3303.326650] 3f60: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
      [ 3303.334465] 3f80: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
      [ 3303.342281] 3fa0: 0000000000000000 0000fffffc85e570 0000000000438804 0000fffffc85e570
      [ 3303.350096] 3fc0: 0000ffff8553f618 0000000080000000 0000000000000003 0000000000000040
      [ 3303.357911] 3fe0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
      [ 3303.365729] [<ffff000008083808>] __sys_trace_return+0x0/0x4
      [ 3303.371288] Code: b94008e9 34000129 b9400ce2 110006b5 (b9000402)
      [ 3303.377377] ---[ end trace fd5ab98b3325cf9a ]---
      Reported-by: default avatarJie Chen <chenjie103@huawei.com>
      Reported-by: default avatarXiping Zhang (Francis) <zhangxiping3@huawei.com>
      Fixes: b1c15835("RDMA/hns: Get rid of virt_to_page and vmap calls after dma_alloc_coherent")
      Signed-off-by: default avatarWei Hu (Xavier) <xavier.huwei@huawei.com>
      Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
      0b25c9cc
    • Wei Hu(Xavier)'s avatar
      RDMA/hns: Add reset process for RoCE in hip08 · cb7a94c9
      Wei Hu(Xavier) authored
      This patch added reset process for RoCE in hip08.
      Signed-off-by: default avatarWei Hu (Xavier) <xavier.huwei@huawei.com>
      Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
      cb7a94c9
  5. 29 May, 2018 4 commits