Linux-RDMA Archive on lore.kernel.org
 help / color / Atom feed
* [PATCH rdma-next 00/14] Refactoring FD usage
@ 2020-01-08 17:21 Yishai Hadas
  2020-01-08 17:21 ` [PATCH rdma-next 01/14] RDMA/mlx5: Use RCU and direct refcounts to keep memory alive Yishai Hadas
                   ` (14 more replies)
  0 siblings, 15 replies; 17+ messages in thread
From: Yishai Hadas @ 2020-01-08 17:21 UTC (permalink / raw)
  To: linux-rdma, jgg, dledford; +Cc: yishaih, maorg, michaelgur

This series refactors the usage of FDs in both IB core and mlx5 driver.
It includes:
- Simplify destruction of FD uobjects by making them pure uobjects and use
   a generic release method for all struct file operations.
- Make ib_uverbs_async_event_file into a uobject.
- Improve locking in few related areas.
- Simplify type usage for ib_uverbs_async_handler().

This refactoring series may be followed by some other series that will allow
the async FD to be allocated separately from the context and then enables
having the alloc_context command over ioctl.

Yishai

Jason Gunthorpe (14):
  RDMA/mlx5: Use RCU and direct refcounts to keep memory alive
  RDMA/core: Simplify destruction of FD uobjects
  RDMA/mlx5: Simplify devx async commands
  RDMA/core: Do not allow alloc_commit to fail
  RDMA/core: Make ib_ucq_object use ib_uevent_object
  RDMA/core: Do not erase the type of ib_cq.uobject
  RDMA/core: Do not erase the type of ib_qp.uobject
  RDMA/core: Do not erase the type of ib_srq.uobject
  RDMA/core: Do not erase the type of ib_wq.uobject
  RDMA/core: Simplify type usage for ib_uverbs_async_handler()
  RDMA/core: Fix locking in ib_uverbs_event_read
  RDMA/core: Remove the ufile arg from rdma_alloc_begin_uobject
  RDMA/core: Make ib_uverbs_async_event_file into a uobject
  RDMA/core: Use READ_ONCE for ib_ufile.async_file

 drivers/infiniband/core/Makefile                   |   3 +-
 drivers/infiniband/core/core_priv.h                |   2 +-
 drivers/infiniband/core/nldev.c                    |   3 +-
 drivers/infiniband/core/rdma_core.c                | 189 ++++++-------
 drivers/infiniband/core/rdma_core.h                |  45 +---
 drivers/infiniband/core/uverbs.h                   |  28 +-
 drivers/infiniband/core/uverbs_cmd.c               | 201 +++++++-------
 drivers/infiniband/core/uverbs_ioctl.c             |  45 +---
 drivers/infiniband/core/uverbs_main.c              | 292 ++++++---------------
 drivers/infiniband/core/uverbs_std_types.c         |  44 +++-
 .../infiniband/core/uverbs_std_types_async_fd.c    |  33 +++
 drivers/infiniband/core/uverbs_std_types_cq.c      |  19 +-
 drivers/infiniband/core/uverbs_uapi.c              |   7 +-
 drivers/infiniband/hw/mlx5/devx.c                  | 159 +++++------
 include/rdma/ib_verbs.h                            |  13 +-
 include/rdma/uverbs_std_types.h                    |  13 +-
 include/rdma/uverbs_types.h                        |  33 ++-
 include/uapi/rdma/ib_user_ioctl_cmds.h             |   1 +
 18 files changed, 494 insertions(+), 636 deletions(-)
 create mode 100644 drivers/infiniband/core/uverbs_std_types_async_fd.c

-- 
1.8.3.1


^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, back to index

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-08 17:21 [PATCH rdma-next 00/14] Refactoring FD usage Yishai Hadas
2020-01-08 17:21 ` [PATCH rdma-next 01/14] RDMA/mlx5: Use RCU and direct refcounts to keep memory alive Yishai Hadas
2020-01-08 17:21 ` [PATCH rdma-next 02/14] RDMA/core: Simplify destruction of FD uobjects Yishai Hadas
2020-01-08 17:21 ` [PATCH rdma-next 03/14] RDMA/mlx5: Simplify devx async commands Yishai Hadas
2020-01-08 17:21 ` [PATCH rdma-next 04/14] RDMA/core: Do not allow alloc_commit to fail Yishai Hadas
2020-01-08 17:21 ` [PATCH rdma-next 05/14] RDMA/core: Make ib_ucq_object use ib_uevent_object Yishai Hadas
2020-01-08 17:21 ` [PATCH rdma-next 06/14] RDMA/core: Do not erase the type of ib_cq.uobject Yishai Hadas
2020-01-08 17:21 ` [PATCH rdma-next 07/14] RDMA/core: Do not erase the type of ib_qp.uobject Yishai Hadas
2020-01-08 17:22 ` [PATCH rdma-next 08/14] RDMA/core: Do not erase the type of ib_srq.uobject Yishai Hadas
2020-01-08 17:22 ` [PATCH rdma-next 09/14] RDMA/core: Do not erase the type of ib_wq.uobject Yishai Hadas
2020-01-08 17:22 ` [PATCH rdma-next 10/14] RDMA/core: Simplify type usage for ib_uverbs_async_handler() Yishai Hadas
2020-01-08 17:22 ` [PATCH rdma-next 11/14] RDMA/core: Fix locking in ib_uverbs_event_read Yishai Hadas
2020-01-10 14:54   ` Jason Gunthorpe
2020-01-08 17:22 ` [PATCH rdma-next 12/14] RDMA/core: Remove the ufile arg from rdma_alloc_begin_uobject Yishai Hadas
2020-01-08 17:22 ` [PATCH rdma-next 13/14] RDMA/core: Make ib_uverbs_async_event_file into a uobject Yishai Hadas
2020-01-08 17:22 ` [PATCH rdma-next 14/14] RDMA/core: Use READ_ONCE for ib_ufile.async_file Yishai Hadas
2020-01-13 20:37 ` [PATCH rdma-next 00/14] Refactoring FD usage Jason Gunthorpe

Linux-RDMA Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-rdma/0 linux-rdma/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-rdma linux-rdma/ https://lore.kernel.org/linux-rdma \
		linux-rdma@vger.kernel.org
	public-inbox-index linux-rdma

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-rdma


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git