All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH V1 for-next 0/2] HW Device hot-removal support
@ 2014-11-18 12:11 Yishai Hadas
       [not found] ` <1416312682-7899-1-git-send-email-yishaih-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
  0 siblings, 1 reply; 19+ messages in thread
From: Yishai Hadas @ 2014-11-18 12:11 UTC (permalink / raw)
  To: roland-DgEjT+Ai2ygdnm+yROfE0A
  Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA,
	yishaih-VPRAkNaXOzVWk0Htik3J/w, jackm-VPRAkNaXOzVWk0Htik3J/w

Similarly, if the device is hot-unplugged or reset, the device driver
hardware removal flow blocks until all user contexts are destroyed.

This patchset removes the above limitations. The IB-core and uverbs
layers are still required to remain loaded as long as there are user
applications using the verbs API. However, the hardware device drivers
are not blocked any more by the user space activity.

To support this, the hardware device needs to expose a new kernel API
named 'disassociate_ucontext'. The device driver is given a ucontext
to detach from, and it should block this user context from any future
hardware access. In the IB-core level, we use this interface to
deactivate all ucontext that address a specific device when handling a
remove_one callback for it.

The first patch introduces the new API between the HW device driver and
the IB core. For devices which implement the functionality, IB core
will use it in remove_one, disassociating any active ucontext from the
hardware device. Other drivers that didn't implement it will behave as
today, remove_one will block until all ucontexts referring the device
are destroyed before returning.

The second patch provides implementation of this API for the mlx4
driver. 

Changes from V0:
patch #1: ib_uverbs_close, reduced mutex scope to enable tasks run in parallel. 

Yishai Hadas (2):
  IB/uverbs: Enable device removal when there are active user space
    applications
  IB/mlx4_ib: Disassociate support

 drivers/infiniband/core/uverbs.h      |    9 +
 drivers/infiniband/core/uverbs_cmd.c  |    8 +
 drivers/infiniband/core/uverbs_main.c |  324 +++++++++++++++++++++++++++------
 drivers/infiniband/hw/mlx4/main.c     |  119 ++++++++++++-
 drivers/infiniband/hw/mlx4/mlx4_ib.h  |   12 ++
 include/rdma/ib_verbs.h               |    2 +
 6 files changed, 417 insertions(+), 57 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

end of thread, other threads:[~2014-11-20 11:21 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-11-18 12:11 [PATCH V1 for-next 0/2] HW Device hot-removal support Yishai Hadas
     [not found] ` <1416312682-7899-1-git-send-email-yishaih-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2014-11-18 12:11   ` [PATCH V1 for-next 1/2] IB/uverbs: Enable device removal when there are active user space applications Yishai Hadas
     [not found]     ` <1416312682-7899-2-git-send-email-yishaih-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2014-11-18 14:38       ` Or Gerlitz
     [not found]         ` <546B59E2.2050707-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2014-11-18 16:24           ` Yishai Hadas
     [not found]             ` <546B72A1.2080403-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2014-11-18 21:42               ` Or Gerlitz
     [not found]                 ` <CAJ3xEMh5f-qZuYQ30frjUa0ETNxexh2igguxxRm-pVtERCwn-Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-11-19  8:05                   ` Or Gerlitz
2014-11-18 14:40       ` Or Gerlitz
2014-11-19 14:49       ` Or Gerlitz
     [not found]         ` <546CADEF.6070905-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2014-11-20  7:52           ` Yishai Hadas
     [not found]             ` <546D9DB2.8050900-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2014-11-20 11:21               ` Or Gerlitz
2014-11-20 11:21               ` Or Gerlitz
2014-11-18 12:11   ` [PATCH V1 for-next 2/2] IB/mlx4_ib: Disassociate support Yishai Hadas
     [not found]     ` <1416312682-7899-3-git-send-email-yishaih-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2014-11-18 14:42       ` Or Gerlitz
     [not found]         ` <546B5AE3.9060606-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2014-11-18 16:48           ` Steve Wise
2014-11-18 17:14           ` Yishai Hadas
     [not found]             ` <546B7E73.40008-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2014-11-18 21:50               ` Or Gerlitz
     [not found]                 ` <CAJ3xEMjzZdf_aML2e+ht=cbYx3T9U7Lr7DOR6+JenEKTcxQ+Zw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-11-19 12:15                   ` Yishai Hadas
     [not found]                     ` <546C89E6.1000204-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2014-11-19 14:45                       ` Or Gerlitz
2014-11-18 14:43   ` [PATCH V1 for-next 0/2] HW Device hot-removal support Or Gerlitz

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.