An error occurred fetching the project authors.
  1. 13 Jun, 2020 1 commit
    • Masahiro Yamada's avatar
      treewide: replace '---help---' in Kconfig files with 'help' · a7f7f624
      Masahiro Yamada authored
      Since commit 84af7a61 ("checkpatch: kconfig: prefer 'help' over
      '---help---'"), the number of '---help---' has been gradually
      decreasing, but there are still more than 2400 instances.
      
      This commit finishes the conversion. While I touched the lines,
      I also fixed the indentation.
      
      There are a variety of indentation styles found.
      
        a) 4 spaces + '---help---'
        b) 7 spaces + '---help---'
        c) 8 spaces + '---help---'
        d) 1 space + 1 tab + '---help---'
        e) 1 tab + '---help---'    (correct indentation)
        f) 1 tab + 1 space + '---help---'
        g) 1 tab + 2 spaces + '---help---'
      
      In order to convert all of them to 1 tab + 'help', I ran the
      following commend:
      
        $ find . -name 'Kconfig*' | xargs sed -i 's/^[[:space:]]*---help---/\thelp/'
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      a7f7f624
  2. 17 May, 2020 1 commit
  3. 04 Oct, 2019 1 commit
  4. 21 Aug, 2019 1 commit
  5. 08 Jul, 2019 1 commit
  6. 02 Jul, 2019 1 commit
  7. 13 Jun, 2019 1 commit
  8. 10 Jun, 2019 1 commit
  9. 21 May, 2019 1 commit
  10. 07 May, 2019 1 commit
  11. 19 Apr, 2019 1 commit
  12. 20 Mar, 2019 1 commit
  13. 11 Jan, 2019 1 commit
  14. 03 Oct, 2018 1 commit
    • Jason Gunthorpe's avatar
      RDMA: Fix building with CONFIG_MMU=n · 914e5d7d
      Jason Gunthorpe authored
      The zap_vma_ptes() is declared but not defined on NOMMU kernels, causing a
      link error for the newly added uverbs code:
      
      drivers/infiniband/core/uverbs_main.o: In function `uverbs_user_mmap_disassociate':
      uverbs_main.c:(.text+0x114c): undefined reference to `zap_vma_ptes'
      drivers/infiniband/core/uverbs_main.o: In function `rdma_umap_open':
      uverbs_main.c:(.text+0x53c): undefined reference to `zap_vma_ptes'
      
      Since all user access for all of our drivers depend on remapping pages to
      user space disable USER_ACCESS when there is no mmu.
      
      Fixes: 5f9794dc ("RDMA/ucontext: Add a core API for mmaping driver IO memory")
      Reported-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      914e5d7d
  15. 21 Aug, 2018 1 commit
    • Arnd Bergmann's avatar
      IB/ucm: fix UCM link error · 845b397a
      Arnd Bergmann authored
      Building UCM with CONFIG_INFINIBAND_USER_ACCESS=m results in a
      set of link errors including:
      
      drivers/infiniband/core/ucm.o: In function `ib_ucm_event_handler':
      ucm.c:(.text+0x6dc): undefined reference to `ib_copy_path_rec_to_user'
      drivers/infiniband/core/ucma.o: In function `ucma_event_handler':
      ucma.c:(.text+0xdc0): undefined reference to `ib_copy_ah_attr_to_user'
      
      To get it to build-test again, this makes the option itself a
      tristate, which lets Kconfig figure out the dependency correctly.
      
      Fixes: 486edfb1 ("IB/ucm: Fix compiling ucm.c")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      845b397a
  16. 14 Aug, 2018 1 commit
    • Jason Gunthorpe's avatar
      IB/ucm: Fix compiling ucm.c · 486edfb1
      Jason Gunthorpe authored
      Even though this interface is marked CONFIG_BROKEN we still expect it to
      compile, at least until we delete it completely.
      
      Also mark INFINIBAND_USER_ACCESS_UCM with COMPILE_TEST so these situations
      can be detected.
      
      Fixes: e7ff98ae ("RDMA/cma: Constify path record, ib_cm_event, listen_id pointers")
      Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      486edfb1
  17. 24 May, 2018 1 commit
  18. 27 Apr, 2018 1 commit
  19. 19 Mar, 2018 1 commit
  20. 04 Feb, 2018 2 commits
  21. 05 Dec, 2017 1 commit
    • Paul E. McKenney's avatar
      drivers/infiniband: Remove now-redundant smp_read_barrier_depends() · adf90eb4
      Paul E. McKenney authored
      The smp_read_barrier_depends() does nothing at all except on DEC Alpha,
      and no current DEC Alpha systems use Infiniband:
      
      	lkml.kernel.org/r/20171023085921.jwbntptn6ictbnvj@tower
      
      This commit therefore makes Infiniband depend on !ALPHA and removes
      the now-ineffective invocations of smp_read_barrier_depends() from
      the InfiniBand driver.
      
      Please note that this patch should not be construed as my saying that
      InfiniBand's memory ordering is correct, but rather that this patch does
      not in any way affect InfiniBand's correctness.  In other words, the
      result of applying this patch is bug-for-bug compatible with the original.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: Doug Ledford <dledford@redhat.com>
      Cc: Richard Henderson <rth@twiddle.net>
      Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      Cc: Matt Turner <mattst88@gmail.com>
      Cc: Michael Cree <mcree@orcon.net.nz>
      Cc: Andrea Parri <parri.andrea@gmail.com>
      Cc: <linux-rdma@vger.kernel.org>
      Cc: <linux-alpha@vger.kernel.org>
      [ paulmck: Removed drivers/dma/ioat/dma.c per Jason Gunthorpe's feedback. ]
      Acked-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      adf90eb4
  22. 30 Nov, 2017 1 commit
    • Geert Uytterhoeven's avatar
      IB: INFINIBAND should depend on HAS_DMA · db0acbc4
      Geert Uytterhoeven authored
      If NO_DMA=y:
      
          ERROR: "bad_dma_ops" [net/sunrpc/xprtrdma/rpcrdma.ko] undefined!
          ERROR: "bad_dma_ops" [net/smc/smc.ko] undefined!
          ERROR: "bad_dma_ops" [net/rds/rds_rdma.ko] undefined!
          ERROR: "bad_dma_ops" [net/9p/9pnet_rdma.ko] undefined!
          ERROR: "bad_dma_ops" [drivers/nvme/target/nvmet-rdma.ko] undefined!
          ERROR: "bad_dma_ops" [drivers/nvme/host/nvme-rdma.ko] undefined!
          ERROR: "bad_dma_ops" [drivers/infiniband/ulp/srpt/ib_srpt.ko] undefined!
          ERROR: "bad_dma_ops" [drivers/infiniband/ulp/srp/ib_srp.ko] undefined!
          ERROR: "bad_dma_ops" [drivers/infiniband/ulp/isert/ib_isert.ko] undefined!
          ERROR: "bad_dma_ops" [drivers/infiniband/ulp/iser/ib_iser.ko] undefined!
          ERROR: "bad_dma_ops" [drivers/infiniband/ulp/ipoib/ib_ipoib.ko] undefined!
          ERROR: "bad_dma_ops" [drivers/infiniband/core/ib_core.ko] undefined!
      
      Before, this was handled implicitly by the dependency on PCI.
      Add an explicit dependency on HAS_DMA to fix this.
      
      Fixes: 931bc0d9 ("IB: Move PCI dependency from root KConfig to HW's KConfigs")
      Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Reviewed-by: default avatarLeon Romanovsky <leonro@mellanox.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      db0acbc4
  23. 10 Oct, 2017 1 commit
    • Arnd Bergmann's avatar
      infiniband: add MMU dependency for user_mem · 9cc12ad6
      Arnd Bergmann authored
      The infiniband subsystem causes a link failure when the umem
      driver is built on MMU-less systems:
      
      mm/mmu_notifier.o: In function `do_mmu_notifier_register':
      mmu_notifier.c:(.text+0x32): undefined reference to `mm_take_all_locks'
      drivers/infiniband/core/umem.o: In function `ib_umem_get':
      umem.c:(.text+0x132): undefined reference to `can_do_mlock'
      drivers/infiniband/core/umem_odp.o: In function `ib_umem_odp_map_dma_pages':
      umem_odp.c:(.text+0x766): undefined reference to `get_user_pages_remote'
      
      This bug has existed for a while but only become apparent in ARM
      randconfig builds when the dependency on PCI was lifted, as none
      of the ARM-NOMMU targets support PCI at the moment.
      
      We could probably get the umem driver to build by providing an
      alternative implementation 'can_do_mlock()' that returns false
      on NOMMU-systems, but then we'd still have a problem with the
      mmu-notifiers required by CONFIG_INFINIBAND_ON_DEMAND_PAGING,
      so simply forbidding umem with NOMMU seems like the simplest
      workaround.
      
      Fixes: 931bc0d9 ("IB: Move PCI dependency from root KConfig to HW's KConfigs")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
      9cc12ad6
  24. 27 Sep, 2017 1 commit
  25. 31 Aug, 2017 1 commit
  26. 20 Apr, 2017 1 commit
  27. 14 Feb, 2017 1 commit
  28. 14 Dec, 2016 1 commit
    • Adit Ranadive's avatar
      IB: Add vmw_pvrdma driver · 29c8d9eb
      Adit Ranadive authored
      This patch series adds a driver for a paravirtual RDMA device. The
      device is developed for VMware's Virtual Machines and allows existing RDMA
      applications to continue to use existing Verbs API when deployed in VMs
      on ESXi. We recently did a presentation in the OFA Workshop [1] regarding
      this device.
      
      Description and RDMA Support
      ============================
      The virtual device is exposed as a dual function PCIe device. One part
      is a virtual network device (VMXNet3) which provides networking properties
      like MAC, IP addresses to the RDMA part of the device. The networking
      properties are used to register GIDs required by RDMA applications to
      communicate.
      
      These patches add support and the all required infrastructure for
      letting applications use such a device. We support the mandatory Verbs API as
      well as the base memory management extensions (Local Inv, Send with Inv and
      Fast Register Work Requests). We currently support both Reliable Connected
      and Unreliable Datagram QPs but do not support Shared Receive Queues
      (SRQs).
      
      Also, we support the following types of Work Requests:
       o Send/Receive (with or without Immediate Data)
       o RDMA Write (with or without Immediate Data)
       o RDMA Read
       o Local Invalidate
       o Send with Invalidate
       o Fast Register Work Requests
      
      This version only adds support for version 1 of RoCE. We will add RoCEv2
      support in a future patch. We do support registration of both MAC-based
      and IP-based GIDs. I have also created a git tree for our user-level driver
      [2].
      
      Testing
      =======
      We have tested this internally for various types of Guest OS - Red Hat,
      Centos, Ubuntu 12.04/14.04/16.04, Oracle Enterprise Linux, SLES 12
      using backported versions of this driver. The tests included several
      runs of the performance tests (included with OFED), Intel MPI PingPong
      benchmark on OpenMPI, krping for FRWRs. Mellanox has been kind enough
      to test the backported version of the driver internally on their hardware
      using a VMware provided ESX build. I have also applied and tested this
      with Doug's k.o/for-4.9 branch (commit 5603910b). Note, that this patch
      series should be applied all together. I split out the commits so that
      it may be easier to review.
      
      PVRDMA Resources
      ================
      [1] OFA Workshop Presentation -
      https://openfabrics.org/images/eventpresos/2016presentations/102parardma.pdf
      
      [2] Libpvrdma User-level library -
      http://git.openfabrics.org/?p=~aditr/libpvrdma.git;a=summaryReviewed-by: default avatarJorgen Hansen <jhansen@vmware.com>
      Reviewed-by: default avatarGeorge Zhang <georgezhang@vmware.com>
      Reviewed-by: default avatarAditya Sarwade <asarwade@vmware.com>
      Reviewed-by: default avatarBryan Tan <bryantan@vmware.com>
      Reviewed-by: default avatarLeon Romanovsky <leonro@mellanox.com>
      Signed-off-by: default avatarAdit Ranadive <aditr@vmware.com>
      Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
      29c8d9eb
  29. 14 Oct, 2016 1 commit
  30. 22 Aug, 2016 1 commit
  31. 04 Aug, 2016 1 commit
    • Moni Shoua's avatar
      Soft RoCE driver · 8700e3e7
      Moni Shoua authored
      Soft RoCE (RXE) - The software RoCE driver
      
      ib_rxe implements the RDMA transport and registers to the RDMA core
      device as a kernel verbs provider. It also implements the packet IO
      layer. On the other hand ib_rxe registers to the Linux netdev stack
      as a udp encapsulating protocol, in that case RDMA, for sending and
      receiving packets over any Ethernet device.  This yields a RDMA
      transport over the UDP/Ethernet network layer forming a RoCEv2
      compatible device.
      
      The configuration procedure of the Soft RoCE drivers requires
      binding to any existing Ethernet network device. This is done with
      /sys interface.
      
      A userspace Soft RoCE library (librxe) provides user applications
      the ability to run with Soft RoCE devices.  The use of rxe verbs ins
      user space requires the inclusion of librxe as a device specifics
      plug-in to libibverbs. librxe is packaged separately.
      
      Architecture:
      
           +-----------------------------------------------------------+
           |                          Application                      |
           +-----------------------------------------------------------+
                                  +-----------------------------------+
                                  |             libibverbs            |
      User                        +-----------------------------------+
                                  +----------------+ +----------------+
                                  | librxe         | | HW RoCE lib    |
                                  +----------------+ +----------------+
      +---------------------------------------------------------------+
           +--------------+                           +------------+
           | Sockets      |                           | RDMA ULP   |
           +--------------+                           +------------+
           +--------------+                  +---------------------+
           | TCP/IP       |                  | ib_core             |
           +--------------+                  +---------------------+
                                   +------------+ +----------------+
      Kernel                       | ib_rxe     | | HW RoCE driver |
                                   +------------+ +----------------+
           +------------------------------------+
           | NIC driver                         |
           +------------------------------------+
      
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           +-----------------------------------------------------------+
           |                          Application                      |
           +-----------------------------------------------------------+
                                  +-----------------------------------+
                                  |             libibverbs            |
      User                        +-----------------------------------+
                                  +----------------+ +----------------+
                                  | librxe         | | HW RoCE lib    |
                                  +----------------+ +----------------+
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           +--------------+                           +------------+
           | Sockets      |                           | RDMA ULP   |
           +--------------+                           +------------+
           +--------------+                  +---------------------+
           | TCP/IP       |                  | ib_core             |
           +--------------+                  +---------------------+
                                   +------------+ +----------------+
      Kernel                       | ib_rxe     | | HW RoCE driver |
                                   +------------+ +----------------+
           +------------------------------------+
           | NIC driver                         |
           +------------------------------------+
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      
      Soft RoCE resources:
      
      [1[ https://github.com/SoftRoCE/librxe-dev librxe - source code in
      Github
      [2] https://github.com/SoftRoCE/rxe-dev/wiki/rxe-dev:-Home - Soft RoCE
      Wiki page
      [3] https://github.com/SoftRoCE/librxe-dev - Soft RoCE userspace library
      Signed-off-by: default avatarKamal Heib <kamalh@mellanox.com>
      Signed-off-by: default avatarAmir Vadai <amirv@mellanox.com>
      Signed-off-by: default avatarMoni Shoua <monis@mellanox.com>
      Reviewed-by: default avatarHaggai Eran <haggaie@mellanox.com>
      Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
      8700e3e7
  32. 26 May, 2016 1 commit
  33. 16 Mar, 2016 1 commit
  34. 11 Mar, 2016 1 commit
  35. 23 Dec, 2015 1 commit
    • Matan Barak's avatar
      IB/cma: Add configfs for rdma_cm · 045959db
      Matan Barak authored
      Users would like to control the behaviour of rdma_cm.
      For example, old applications which don't set the
      required RoCE gid type could be executed on RoCE V2
      network types. In order to support this configuration,
      we implement a configfs for rdma_cm.
      
      In order to use the configfs, one needs to mount it and
      mkdir <IB device name> inside rdma_cm directory.
      
      The patch adds support for a single configuration file,
      default_roce_mode. The mode can either be "IB/RoCE v1" or
      "RoCE v2".
      Signed-off-by: default avatarMatan Barak <matanb@mellanox.com>
      Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
      045959db
  36. 11 Dec, 2015 1 commit
    • Christoph Hellwig's avatar
      IB: add a proper completion queue abstraction · 14d3a3b2
      Christoph Hellwig authored
      This adds an abstraction that allows ULPs to simply pass a completion
      object and completion callback with each submitted WR and let the RDMA
      core handle the nitty gritty details of how to handle completion
      interrupts and poll the CQ.
      
      In detail there is a new ib_cqe structure which just contains the
      completion callback, and which can be used to get at the containing
      object using container_of.  It is pointed to by the WR and WC as an
      alternative to the wr_id field, similar to how many ULPs already use
      the field to store a pointer using casts.
      
      A driver using the new completion callbacks allocates it's CQs using
      the new ib_create_cq API, which in addition to the number of CQEs and
      the completion vectors also takes a mode on how we poll for CQEs.
      Three modes are available: direct for drivers that never take CQ
      interrupts and just poll for them, softirq to poll from softirq context
      using the to be renamed blk-iopoll infrastructure which takes care of
      rearming and budgeting, or a workqueue for consumer who want to be
      called from user context.
      
      Thanks a lot to Sagi Grimberg who helped reviewing the API, wrote
      the current version of the workqueue code because my two previous
      attempts sucked too much and converted the iSER initiator to the new
      API.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      14d3a3b2
  37. 11 Sep, 2015 1 commit
    • Doug Ledford's avatar
      IB/ehca: Deprecate driver, move to staging, schedule deletion · 447e9a4d
      Doug Ledford authored
      The ehca driver is only supported on IBM machines with a custom EBus.
      As they have opted to build their newer machines using more industry
      standard technology and haven't really been pushing EBus capable
      machines for a while, this driver can now safely be moved to the
      staging area and scheduled for eventual removal.  This plan was brought
      to IBM's attention and received their sign-off.
      
      Cc: alexs@linux.vnet.ibm.com
      Cc: hnguyen@de.ibm.com
      Cc: raisch@de.ibm.com
      Cc: stefan.roscher@de.ibm.com
      Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
      447e9a4d
  38. 29 Aug, 2015 2 commits