I’m taking the responsibility from Mellanox side on libmlx5, the formal
tree to be used: git://openfabrics.org/~yishaih/libmlx5.git
Thanks Eli for creating and maintaining it from day one.
Yishai
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a
Introduce RWQ indirection table uverbs commands, it includes:
create, destroy.
Signed-off-by: Yishai Hadas <yish...@mellanox.com>
Reviewed-by: Moshe Lazer <mos...@mellanox.com>
---
drivers/infiniband/core/uverbs.h | 3 +
drivers/infiniband/core/uverbs_
Introduce Receive Work Queue indirection table.
This object can be used to spread incoming traffic to different
receive Work Queues.
Signed-off-by: Yishai Hadas <yish...@mellanox.com>
Reviewed-by: Moshe Lazer <mos...@mellanox.com>
---
drivers/infiniband/core/
Move transobj.h from the core library to include/linux/mlx5
to enable using its functionality outside of mlx5 core.
Signed-off-by: Yishai Hadas <yish...@mellanox.com>
Signed-off-by: Eli Cohen <e...@mellanox.com>
---
drivers/net/ethernet/mellanox/mlx5/core/en.h | 2 +-
drivers/
Queues
Add receive Work Queue verbs, it includes:
creation, modification and destruction.
Signed-off-by: Yishai Hadas <yish...@mellanox.com>
Signed-off-by: Eli Cohen <e...@mellanox.com>
---
drivers/infiniband/hw/mlx5/main.c| 9 ++
drivers/infiniband/hw/mlx5/mlx5_ib.h | 35 +
Add Receive Work Queue Indirection table operations, it includes:
create, destroy.
Signed-off-by: Yishai Hadas <yish...@mellanox.com>
Signed-off-by: Eli Cohen <e...@mellanox.com>
---
drivers/infiniband/hw/mlx5/main.c| 6 +++-
drivers/infiniband/hw/mlx5/mlx5_ib.h | 14 ++
Add Work Queue support, it includes create, modify and
destroy commands.
Signed-off-by: Yishai Hadas <yish...@mellanox.com>
Reviewed-by: Moshe Lazer <mos...@mellanox.com>
---
drivers/infiniband/core/uverbs.h | 9 ++
drivers/infiniband/core/uverbs_
IB_WQS_RESET.
>From IB_WQS_RESET it can be modified to itself or to IB_WQS_RDY.
>From IB_WQS_RDY it can be modified to itself, to IB_WQS_RESET
or to IB_WQS_ERR.
>From IB_WQS_ERR it can be modified to IB_WQS_RESET.
Note: transition to IB_WQS_ERR might occur implicitly in case there
was some HW e
C file.
Yishai Hadas (7):
net/mlx5_core: Expose transobj APIs from mlx5 core
IB: Introduce Work Queue object and its verbs
IB/uverbs: Add WQ support
IB/mlx5: Add receive Work Queue verbs
IB: Introduce Receive Work Queue indirection table
IB/uverbs: Introduce RWQ Indirection table
IB/mlx
the 'cmem' API.
#2 - This patch introduces mlx5 driver usage of this API.
Yishai Hadas (2):
IB: Supports contiguous memory operations
IB/mlx5: Exporting to user space the contiguous allocation capability
drivers/infiniband/core/Makefile | 2 +-
drivers/infiniband/core/cmem.c | 245
Extend mlx5_ib_mmap to recognize 'allocate contiguous' command.
Offset field will be encoded to hold both command and its data.
Last 8 bits will hold the command, this will enable future
extension for further commands.
Signed-off-by: Yishai Hadas <yish...@mellanox.com>
---
drivers/infinib
New structure 'cmem' represents the contiguous allocated memory.
It supports:
Allocate, Free, 'Map to virtual address' operations, etc.
Signed-off-by: Yishai Hadas <yish...@mellanox.com>
---
drivers/infiniband/core/Makefile | 2 +-
drivers/infiniband/core/cmem.c
asking
for the ibv_mr access flags was added so that the library can know
whether to call ibv_dofork_range in its code
upon ibv_dereg_mr.
Signed-off-by: Yishai Hadas <yish...@mellanox.com>
---
include/infiniband/verbs.h | 2 ++
src/verbs.c| 29 +++---
Example usage of contig pages.
Signed-off-by: Yishai Hadas <yish...@mellanox.com>
---
examples/rc_pingpong.c | 47 ---
1 file changed, 36 insertions(+), 11 deletions(-)
diff --git a/examples/rc_pingpong.c b/examples/rc_pingpong.c
index 9
of ibv_reg_mr and turn on an access
flag bit asking for that.
Patches:
#1 - Add the above support as part of ibv_reg_mr.
#2 - Example usage as part of ibv_rc_pingpong.
Yishai Hadas (2):
Add contiguous pages support
Example code to use contig pages
examples/rc_pingpong.c | 47
Add support for contiguous pages allocation when it
asked for.
Signed-off-by: Yishai Hadas <yish...@mellanox.com>
---
src/mlx5.c | 1 +
src/mlx5.h | 6 -
src/verbs.c | 88 -
3 files changed, 93 insertions(+), 2 del
On 10/15/2015 11:50 AM, Sagi Grimberg wrote:
Hi Yishai,
+/**
+ * ib_create_wq - Creates a WQ associated with the specified protection
+ * domain.
+ * @pd: The protection domain associated with the WQ.
+ * @wq_init_attr: A list of initial attributes required to create the
+ * WQ. If WQ creation
On 10/15/2015 7:49 PM, Parav Pandit wrote:
If there is stateless WQ being used by multiple QPs in multiplexed
The WQ is not stateless and always has its own PD.
way, it should be able to multiplex between QP's of different PD as
well.
Otherwise for every PD being created, there will have be
indirection table verbs.
#7 - Implements the Receive Work Queue indirection table verbs in mlx5_ib
driver.
Changes from V0:
patch #2: Move the new verbs documentation to be in the C file, improve the
commit message.
patch #5: Move the new verbs documentation to be in the C file.
Yishai Hadas (7):
net
Introduce RWQ indirection table uverbs commands, it includes:
create, destroy.
Signed-off-by: Yishai Hadas <yish...@mellanox.com>
---
drivers/infiniband/core/uverbs.h |3 +
drivers/infiniband/core/uverbs_cmd.c | 187 +
drivers/infiniban
Add Receive Work Queue Indirection table operations, it includes:
create, destroy.
Signed-off-by: Yishai Hadas <yish...@mellanox.com>
Signed-off-by: Eli Cohen <e...@mellanox.com>
---
drivers/infiniband/hw/mlx5/main.c|6 +++-
drivers/infiniband/hw/mlx5/mlx5_ib.h | 14 +
Add Work Queue support, it includes create, modify and
destroy commands.
Signed-off-by: Yishai Hadas <yish...@mellanox.com>
---
drivers/infiniband/core/uverbs.h |9 ++
drivers/infiniband/core/uverbs_cmd.c | 218 +
drivers/infiniband/core/uverbs_
Move transobj.h from the core library to include/linux/mlx5
to enable using its functionality outside of mlx5 core.
Signed-off-by: Yishai Hadas <yish...@mellanox.com>
Signed-off-by: Eli Cohen <e...@mellanox.com>
---
drivers/net/ethernet/mellanox/mlx5/core/en.h |2 +-
IB_WQS_RESET.
>From IB_WQS_RESET it can be modified to itself or to IB_WQS_RDY.
>From IB_WQS_RDY it can be modified to itself, to IB_WQS_RESET
or to IB_WQS_ERR.
>From IB_WQS_ERR it can be modified to IB_WQS_RESET.
Note: transition to IB_WQS_ERR might occur implicitly in case there
was some HW e
Introduce Receive Work Queue indirection table.
This object can be used to spread incoming traffic to different
receieve Work Queues.
Signed-off-by: Yishai Hadas <yish...@mellanox.com>
---
drivers/infiniband/core/verbs.c | 66 +++
include/rdma/ib_v
Queues
Add receive Work Queue verbs, it includes:
creation, modification and destruction.
Signed-off-by: Yishai Hadas <yish...@mellanox.com>
Signed-off-by: Eli Cohen <e...@mellanox.com>
---
drivers/infiniband/hw/mlx5/main.c|9 ++
drivers/infiniband/hw/mlx5/mlx5_ib.h | 35 +
Introduce RWQ indirection table uverbs commands, it includes:
create, destroy.
Signed-off-by: Yishai Hadas <yish...@mellanox.com>
---
drivers/infiniband/core/uverbs.h |3 +
drivers/infiniband/core/uverbs_cmd.c | 187 +
drivers/infiniban
Add Work Queue support, it includes create, modify and
destroy commands.
Signed-off-by: Yishai Hadas <yish...@mellanox.com>
---
drivers/infiniband/core/uverbs.h |9 ++
drivers/infiniband/core/uverbs_cmd.c | 218 +
drivers/infiniband/core/uverbs_
Add Receive Work Queue Indirection table operations, it includes:
create, destroy.
Signed-off-by: Yishai Hadas <yish...@mellanox.com>
Signed-off-by: Eli Cohen <e...@mellanox.com>
---
drivers/infiniband/hw/mlx5/main.c|6 +++-
drivers/infiniband/hw/mlx5/mlx5_ib.h | 14 +
Queues
Add receive Work Queue verbs, it includes:
creation, modification and destruction.
Signed-off-by: Yishai Hadas <yish...@mellanox.com>
Signed-off-by: Eli Cohen <e...@mellanox.com>
---
drivers/infiniband/hw/mlx5/main.c|9 ++
drivers/infiniband/hw/mlx5/mlx5_ib.h | 35 +
Move transobj.h from the core library to include/linux/mlx5
to enable using its functionality outside of mlx5 core.
Signed-off-by: Yishai Hadas <yish...@mellanox.com>
Signed-off-by: Eli Cohen <e...@mellanox.com>
---
drivers/net/ethernet/mellanox/mlx5/core/en.h |2 +-
indirection table verbs.
#7 - Implements the Receive Work Queue indirection table verbs in mlx5_ib
driver.
Yishai Hadas (7):
net/mlx5_core: Expose transobj APIs from mlx5 core
IB: Introduce Work Queue object and its verbs
IB/uverbs: Add WQ support
IB/mlx5: Add receive Work Queue verbs
IB
Introduce Receive Work Queue indirection table.
This object can be used to spread incoming traffic to different
receieve Work Queues.
Signed-off-by: Yishai Hadas <yish...@mellanox.com>
---
drivers/infiniband/core/verbs.c | 52 +++
include/rdma/ib_v
On 10/15/2015 12:13 PM, Parav Pandit wrote:
Just curious, why does WQ need to be bind to PD?
Isn't ucontext sufficient?
Or because kcontext doesn't exist, PD serves that role?
Or Is this just manifestation of how hardware behave?
PD is an attribute of a work queue (i.e. send/receive queue),
On 10/15/2015 6:17 PM, Parav Pandit wrote:
On Thu, Oct 15, 2015 at 7:42 PM, Yishai Hadas
<yish...@dev.mellanox.co.il> wrote:
On 10/15/2015 12:13 PM, Parav Pandit wrote:
Just curious, why does WQ need to be bind to PD?
Isn't ucontext sufficient?
Or because kcontext doesn't exist, PD
On 10/11/2015 12:51 PM, Or Gerlitz wrote:
On Wed, Sep 23, 2015 at 8:02 PM, Doug Ledford wrote:
I have done a pre-release of the upcoming libibverbs-1.2.0 release. The
code has been pushed to the official git repo and also an -rc1 tarball
uploaded to the
On 8/18/2015 8:50 PM, Jason Gunthorpe wrote:
On Thu, Aug 13, 2015 at 06:32:07PM +0300, Yishai Hadas wrote:
@@ -501,10 +586,24 @@ static ssize_t ucma_destroy_id(struct ucma_file *file,
const char __user *inbuf,
+ if (!ctx-closing) {
+ mutex_unlock(mut
Done in preparation for deploying RCU for the device removal
flow. Allows isolating the RCU handling to the uverb_main layer and
keeping the uverbs_cmd code as is.
Signed-off-by: Yishai Hadas yish...@mellanox.com
Signed-off-by: Shachar Raindel rain...@mellanox.com
Reviewed-by: Jason Gunthorpe
HW resources
for the given ucontext. The ucontext itself is still alive till its explicit
destroying by its creator.
Running applications at that time will have some zombie device, further
operations may fail.
Signed-off-by: Yishai Hadas yish...@mellanox.com
Signed-off-by: Shachar Raindel rain
paired.
Signed-off-by: Yishai Hadas yish...@mellanox.com
Signed-off-by: Shachar Raindel rain...@mellanox.com
Reviewed-by: Jason Gunthorpe jguntho...@obsidianresearch.com
---
drivers/infiniband/core/uverbs.h |1 +
drivers/infiniband/core/uverbs_cmd.c | 11 +---
drivers/infiniband
,
ib_uverbs_device) and only when that kref is released it is
guaranteed that open will never be called again.
In addition, fixes the active count scheme to use an atomic
not a kref to prevent WARN_ON as pointed by above comment
from Jason.
Signed-off-by: Yishai Hadas yish...@mellanox.com
Signed-off
and reference count on uverbs device became 0.
In case the lower driver device was removed any application will
continue working over some zombie HCA, further calls will ended with an
immediate error.
Signed-off-by: Yishai Hadas yish...@mellanox.com
Signed-off-by: Shachar Raindel rain...@mellanox.com
need to detach
remap them to an arbitrary kernel page returned by the zap API.
Signed-off-by: Yishai Hadas yish...@mellanox.com
Signed-off-by: Jack Morgenstein ja...@mellanox.com
---
drivers/infiniband/hw/mlx4/main.c| 139 +-
drivers/infiniband/hw/mlx4
On 8/5/2015 1:09 AM, Jason Gunthorpe wrote:
On Tue, Aug 04, 2015 at 05:03:28PM +0300, Yishai Hadas wrote:
Currently, IB/cma remove_one flow blocks until all user descriptor managed by
IB/ucma are released. This prevents hot-removal of IB devices. This patch
allows IB/cma to remove devices
On 8/5/2015 3:23 AM, Jason Gunthorpe wrote:
On Tue, Aug 04, 2015 at 05:03:28PM +0300, Yishai Hadas wrote:
Currently, IB/cma remove_one flow blocks until all user descriptor managed by
IB/ucma are released. This prevents hot-removal of IB devices. This patch
allows IB/cma to remove devices
paired.
Signed-off-by: Yishai Hadas yish...@mellanox.com
Signed-off-by: Shachar Raindel rain...@mellanox.com
---
drivers/infiniband/core/uverbs.h |1 +
drivers/infiniband/core/uverbs_cmd.c | 11 +---
drivers/infiniband/core/uverbs_main.c | 44
3
Done in preparation for deploying RCU for the device removal
flow. Allows isolating the RCU handling to the uverb_main layer and
keeping the uverbs_cmd code as is.
Signed-off-by: Yishai Hadas yish...@mellanox.com
Signed-off-by: Shachar Raindel rain...@mellanox.com
---
drivers/infiniband/core
.
Changes from V0:
patch #1: ib_uverbs_close, reduced mutex scope to enable tasks run in parallel.
Yishai Hadas (6):
IB/uverbs: Fix reference counting usage of event files
IB/uverbs: Fix race between ib_uverbs_open and remove_one
IB/uverbs: Explicitly pass ib_dev to uverbs commands
IB/uverbs
,
ib_uverbs_device) and only when that kref is released it is
guaranteed that open will never be called again.
In addition, fixes the active count scheme to use an atomic
not a kref to prevent WARN_ON as pointed by above comment
from Jason.
Signed-off-by: Yishai Hadas yish...@mellanox.com
Signed-off
and reference count on uverbs device became 0.
In case the lower driver device was removed any application will
continue working over some zombie HCA, further calls will ended with an
immediate error.
Signed-off-by: Yishai Hadas yish...@mellanox.com
Signed-off-by: Shachar Raindel rain...@mellanox.com
need to detach
remap them to an arbitrary kernel page returned by the zap API.
Signed-off-by: Yishai Hadas yish...@mellanox.com
Signed-off-by: Jack Morgenstein ja...@mellanox.com
---
drivers/infiniband/hw/mlx4/main.c| 139 +-
drivers/infiniband/hw/mlx4
On 6/30/2015 9:40 PM, Jason Gunthorpe wrote:
On Tue, Jun 30, 2015 at 01:26:05PM +0300, Yishai Hadas wrote:
struct ib_uverbs_device {
- struct kref ref;
+ struct kref comp_ref;
+ struct kref
HW resources
for the given ucontext. The ucontext itself is still alive till its explicit
destroying by its creator.
Running applications at that time will have some zombie device, further
operations may fail.
Signed-off-by: Yishai Hadas yish...@mellanox.com
Signed-off-by: Shachar Raindel rain
: Add support in ucma for handling device removal.
Changes from V0:
patch #1: ib_uverbs_close, reduced mutex scope to enable tasks run in parallel.
Yishai Hadas (5):
IB/uverbs: Fix reference counting usage of event files
IB/uverbs: Explicitly pass ib_dev to uverbs commands
IB/uverbs: Enable
and reference count on uverbs device became 0.
In case the lower driver device was removed any application will continue
working over some zombie HCA, further calls will ended with an immediate error.
Signed-off-by: Yishai Hadas yish...@mellanox.com
Signed-off-by: Shachar Raindel rain...@mellanox.com
On 6/29/2015 8:40 PM, Jason Gunthorpe wrote:
On Sun, Jun 28, 2015 at 05:33:04PM +0300, Yishai Hadas wrote:
You are wrong here, we have here balanced put, the first is done as
part of fput(filp) - ib_uverbs_event_close_file -
kref_put(file-ref, ib_uverbs_release_event_file) and the second
On 6/25/2015 8:09 PM, Jason Gunthorpe wrote:
On Thu, Jun 25, 2015 at 04:51:49PM +0300, Yishai Hadas wrote:
On 6/24/2015 9:25 PM, Jason Gunthorpe wrote:
Is not holding the RCU lock while ib_uverbs_release_dev is reading
ib_dev. The barriers in kref are not strong enough to guarentee the RCU
On 6/25/2015 8:52 PM, Jason Gunthorpe wrote:
On Thu, Jun 25, 2015 at 02:46:02PM +0300, Yishai Hadas wrote:
On 6/24/2015 8:57 PM, Jason Gunthorpe wrote:
On Mon, Jun 22, 2015 at 05:47:14PM +0300, Yishai Hadas wrote:
fd_install(resp.async_fd, filp);
@@ -386,6 +376,7 @@ ssize_t
On 6/24/2015 8:57 PM, Jason Gunthorpe wrote:
On Mon, Jun 22, 2015 at 05:47:14PM +0300, Yishai Hadas wrote:
fd_install(resp.async_fd, filp);
@@ -386,6 +376,7 @@ ssize_t ib_uverbs_get_context(struct ib_uverbs_file *file,
return in_len;
err_file
On 6/24/2015 9:25 PM, Jason Gunthorpe wrote:
On Mon, Jun 22, 2015 at 05:47:16PM +0300, Yishai Hadas wrote:
+++ b/drivers/infiniband/core/uverbs_main.c
@@ -137,7 +137,12 @@ static void ib_uverbs_release_dev(struct kref *ref)
struct ib_uverbs_device *dev =
container_of(ref
HW resources
for the given ucontext. The ucontext itself is still alive till its explicit
destroying by its creator.
Running applications at that time will have some zombie device, further
operations may fail.
Signed-off-by: Yishai Hadas yish...@mellanox.com
Signed-off-by: Shachar Raindel rain
need to detach
remap them to an arbitrary kernel page returned by the zap API.
Signed-off-by: Yishai Hadas yish...@mellanox.com
Signed-off-by: Jack Morgenstein ja...@mellanox.com
---
drivers/infiniband/hw/mlx4/main.c| 139 +-
drivers/infiniband/hw/mlx4
patches.
Changes from V1:
patch #1: Use uverbs flags instead of disassociate support, drop
fatal_event_raised flag.
patch #3: Add support in ucma for handling device removal.
Changes from V0:
patch #1: ib_uverbs_close, reduced mutex scope to enable tasks run in parallel.
Yishai Hadas (5):
IB
Done in preparation for deploying RCU for the device removal
flow. Allows isolating the RCU handling to the uverb_main layer and
keeping the uverbs_cmd code as is.
Signed-off-by: Yishai Hadas yish...@mellanox.com
Signed-off-by: Shachar Raindel rain...@mellanox.com
---
drivers/infiniband/core
paired.
Signed-off-by: Yishai Hadas yish...@mellanox.com
Signed-off-by: Shachar Raindel rain...@mellanox.com
---
drivers/infiniband/core/uverbs.h |1 +
drivers/infiniband/core/uverbs_cmd.c | 11 +
drivers/infiniband/core/uverbs_main.c | 41
From: Shachar Raindel rain...@mellanox.com
Done in preparation for deploying RCU for the device removal
flow. Allows isolating the RCU handling to the uverb_main layer and
keeping the uverbs_cmd code as is.
Signed-off-by: Shachar Raindel rain...@mellanox.com
Signed-off-by: Yishai Hadas yish
and reference count on uverbs device became 0.
In case the lower driver device was removed any application will continue
working over some zombie HCA, further calls will ended with an immediate error.
Signed-off-by: Yishai Hadas yish...@mellanox.com
Signed-off-by: Shachar Raindel rain...@mellanox.com
need to detach
remap them to an arbitrary kernel page returned by the zap API.
Signed-off-by: Yishai Hadas yish...@mellanox.com
Signed-off-by: Jack Morgenstein ja...@mellanox.com
---
drivers/infiniband/hw/mlx4/main.c| 125 +-
drivers/infiniband/hw/mlx4
paired.
Signed-off-by: Yishai Hadas yish...@mellanox.com
Signed-off-by: Shachar Raindel rain...@mellanox.com
---
drivers/infiniband/core/uverbs_cmd.c |9 -
drivers/infiniband/core/uverbs_main.c | 26 ++
2 files changed, 22 insertions(+), 13 deletions
HW resources
for the given ucontext. The ucontext itself is still alive till its explicit
destroying by its creator.
Running applications at that time will have some zombie device, further
operations may fail.
Signed-off-by: Yishai Hadas yish...@mellanox.com
Signed-off-by: Shachar Raindel rain
fatal_event_raised flag.
patch #3: Add support in ucma for handling device removal.
Changes from V0:
patch #1: ib_uverbs_close, reduced mutex scope to enable tasks run in parallel.
Shachar Raindel (1):
IB/uverbs: Explicitly pass ib_dev to uverbs commands
Yishai Hadas (4):
IB/uverbs: Fix reference
On 5/27/2015 7:04 PM, Doug Ledford wrote:
On Mon, 2015-05-25 at 10:54 -0600, Jason Gunthorpe wrote:
On Wed, May 13, 2015 at 02:10:36PM +0300, Yishai Hadas wrote:
+ struct srcu_struct disassociate_srcu;
There is no need for rcu for this, use a rw sem.
The rcu
On 5/19/2015 7:17 PM, Liran Liss wrote:
From: Hefty, Sean [mailto:sean.he...@intel.com]
these remaining resources may be device-specific.
The proposed framework first of all allows a provider to indicate
whether hot-removal is supported (i.e., the presence of the
'disassociate_ucontext'
device removal.
Changes from V0:
patch #1: ib_uverbs_close, reduced mutex scope to enable tasks run in parallel.
Yishai Hadas (3):
IB/uverbs: Enable device removal when there are active user space
applications
IB/mlx4_ib: Disassociate support
IB/ucma: HW Device hot-removal support
drivers
and reference count on uverbs device became 0.
In case the lower driver device was removed any application will continue
working over some zombie HCA, further calls will ended with an immediate error.
Signed-off-by: Yishai Hadas yish...@mellanox.com
Signed-off-by: Jack Morgenstein ja...@mellanox.com
HW resources
for the given ucontext. The ucontext itself is still alive till its explicit
destroying by its creator.
Running applications at that time will have some zombie device, further
operations may fail.
Signed-off-by: Yishai Hadas yish...@mellanox.com
Signed-off-by: Shachar Raindel rain
need to detach
remap them to an arbitrary kernel page returned by the zap API.
Signed-off-by: Yishai Hadas yish...@mellanox.com
Signed-off-by: Jack Morgenstein ja...@mellanox.com
---
drivers/infiniband/hw/mlx4/main.c| 125 +-
drivers/infiniband/hw/mlx4
need to detach
remap them to an arbitrary kernel page returned by the zap API.
Signed-off-by: Yishai Hadas yish...@mellanox.com
Signed-off-by: Jack Morgenstein ja...@mellanox.com
---
drivers/infiniband/hw/mlx4/main.c| 125 +-
drivers/infiniband/hw/mlx4
: ib_uverbs_close, reduced mutex scope to enable tasks run in parallel.
Yishai Hadas (3):
IB/uverbs: Enable device removal when there are active user space
applications
IB/mlx4_ib: Disassociate support
IB/ucma: HW Device hot-removal support
drivers/infiniband/core/ucma.c| 130
and reference count on uverbs device became 0.
In case the lower driver device was removed any application will continue
working over some zombie HCA, further calls will ended with an immediate error.
Signed-off-by: Yishai Hadas yish...@mellanox.com
Signed-off-by: Jack Morgenstein ja...@mellanox.com
HW resources
for the given ucontext. The ucontext itself is still alive till its explicit
destroying by its creator.
Running applications at that time will have some zombie device, further
operations may fail.
Signed-off-by: Yishai Hadas yish...@mellanox.com
Signed-off-by: Shachar Raindel rain
On 11/18/2014 11:50 PM, Or Gerlitz wrote:
On Tue, Nov 18, 2014 at 7:14 PM, Yishai Hadas
yish...@dev.mellanox.co.il wrote:
On 11/18/2014 4:42 PM, Or Gerlitz wrote:
Can we somehow make this patch generic (e.g land in the IB core) such
that it can apply also for mlx5 (and other HW drivers
On 11/19/2014 4:49 PM, Or Gerlitz wrote:
On 11/18/2014 2:11 PM, Yishai Hadas wrote:
@@ -533,6 +552,12 @@ void ib_uverbs_event_handler(struct
ib_event_handler *handler,
struct ib_uverbs_file *file =
container_of(handler, struct ib_uverbs_file, event_handler);
+if (event-event
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
need to detach
remap them to an arbitrary kernel page returned by the zap API.
Signed-off-by: Yishai Hadas yish...@mellanox.com
Signed-off-by: Jack Morgenstein ja...@mellanox.com
---
drivers/infiniband/hw/mlx4/main.c| 119 +-
drivers/infiniband/hw/mlx4
and reference count on uverbs device became 0.
In case the lower driver device was removed any application will continue
working over some zombie HCA, further calls will ended with an immediate error.
Signed-off-by: Yishai Hadas yish...@mellanox.com
Signed-off-by: Jack Morgenstein ja...@mellanox.com
On 11/18/2014 4:38 PM, Or Gerlitz wrote:
On 11/18/2014 2:11 PM, Yishai Hadas wrote:
@@ -923,6 +1062,7 @@ static void ib_uverbs_add_one(struct ib_device
*device)
if (device_create_file(uverbs_dev-dev, dev_attr_abi_version))
goto err_class;
+uverbs_dev-disassociated_supported
On 11/18/2014 4:42 PM, Or Gerlitz wrote:
On 11/18/2014 2:11 PM, Yishai Hadas wrote:
Implements the IB core disassociate_ucontext API. The driver detaches
the HW
resources for a given user context to prevent a dependency between
application
termination and device disconnecting. This is done
On 11/12/2014 1:22 AM, Roland Dreier wrote:
On Wed, Nov 5, 2014 at 7:04 AM, Utz Bacher utz.bac...@de.ibm.com wrote:
(B) Status of patches
1. kernel code -- the new system call: reviewed, acked and accepted by the
s390x maintainer Martin Schwidefsky (2014/10/13), so we will have that
system call
and reference count on uverbs device became 0.
In case the lower driver device was removed any application will continue
working over some zombie HCA, further calls will ended with an immediate error.
Signed-off-by: Yishai Hadas yish...@mellanox.com
Signed-off-by: Jack Morgenstein ja...@mellanox.com
need to detach
remap them to an arbitrary kernel page returned by the zap API.
Signed-off-by: Yishai Hadas yish...@mellanox.com
Signed-off-by: Jack Morgenstein ja...@mellanox.com
---
drivers/infiniband/hw/mlx4/main.c| 119 +-
drivers/infiniband/hw/mlx4
, 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.
Yishai Hadas (2):
IB/uverbs: Enable device removal when there are active user space
applications
IB/mlx4_ib
On 10/23/2014 8:29 PM, Roland Dreier wrote:
On Thu, Oct 23, 2014 at 5:02 AM, Yishai Hadas yish...@mellanox.com wrote:
The API defined for Peer-Direct is described in this cover letter.
The required implementation for a hardware device to expose memory
buffers over Peer-Direct is also detailed
nicely for nanodoc.
- changed the sysfs interface to be under infiniband subsystem instead of mm
one.
Yishai Hadas (9):
IB/core: Introduce peer client interface
IB/core: Get/put peer memory client
IB/core: Umem tunneling peer memory APIs
IB/core: Infrastructure to manage peer core context
IB_DEVICE_PEER_MEMORY was introduced,
to be used by low level drivers to mark that they support this functionality.
Signed-off-by: Yishai Hadas yish...@mellanox.com
Signed-off-by: Shachar Raindel rain...@mellanox.com
---
drivers/infiniband/core/peer_mem.c | 49
will be provided by the peer direct controller to the peer direct
client
callbacks when referring the specific address range.
Signed-off-by: Yishai Hadas yish...@mellanox.com
Signed-off-by: Shachar Raindel rain...@mellanox.com
---
drivers/infiniband/core/Makefile |3 +-
drivers/infiniband/core
of ib_umem_activate_invalidation_notifier lock is taken
then checking for some inflight invalidation state before activating it.
3) Once a peer client admits as part of its registration that it may
require invalidation support, it can't be an owner of a memory range
which doesn't support it.
Signed-off-by: Yishai Hadas
to that umem is stay alive till dereg_mr is
called.
- synchronizing support between dereg_mr to invalidate callback.
- advertises the P2P device capability.
Signed-off-by: Yishai Hadas yish...@mellanox.com
Signed-off-by: Shachar Raindel rain...@mellanox.com
---
drivers/infiniband/hw/mlx4/main.c
and
synchronize as needed when extracting the context from the
ticket. This ensures a proper, synchronized release of the memory
mapping. The ticket mechanism allows us to safely ignore inflight
invalidation calls that were arrived too late.
Signed-off-by: Yishai Hadas yish...@mellanox.com
Signed-off
of
ib_umem_get was updated accordingly.
Signed-off-by: Yishai Hadas yish...@mellanox.com
Signed-off-by: Shachar Raindel rain...@mellanox.com
---
drivers/infiniband/core/umem.c | 77 +-
drivers/infiniband/hw/amso1100/c2_provider.c |2 +-
drivers/infiniband/hw
1 - 100 of 170 matches
Mail list logo