libmlx5 : Maintainer/Git change

2015-12-24 Thread Yishai Hadas
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

[PATCH V2 for-next 6/7] IB/uverbs: Introduce RWQ Indirection table

2015-12-14 Thread Yishai Hadas
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_

[PATCH V2 for-next 5/7] IB: Introduce Receive Work Queue indirection table

2015-12-14 Thread Yishai Hadas
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/

[PATCH V2 for-next 1/7] net/mlx5_core: Expose transobj APIs from mlx5 core

2015-12-14 Thread Yishai Hadas
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/

[PATCH V2 for-next 4/7] IB/mlx5: Add receive Work Queue verbs

2015-12-14 Thread Yishai Hadas
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 +

[PATCH V2 for-next 7/7] IB/mlx5: Add Receive Work Queue Indirection table operations

2015-12-14 Thread Yishai Hadas
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 ++

[PATCH V2 for-next 3/7] IB/uverbs: Add WQ support

2015-12-14 Thread Yishai Hadas
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_

[PATCH V2 for-next 2/7] IB: Introduce Work Queue object and its verbs

2015-12-14 Thread Yishai Hadas
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

[PATCH V2 for-next 0/7] Verbs RSS

2015-12-14 Thread Yishai Hadas
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

[RFC contig pages support 0/2] Add contiguous pages support

2015-12-08 Thread Yishai Hadas
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

[RFC contig pages support 2/2] IB/mlx5: Exporting to user space the contiguous allocation capability

2015-12-08 Thread Yishai Hadas
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

[RFC contig pages support 1/2] IB: Supports contiguous memory operations

2015-12-08 Thread Yishai Hadas
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

[RFC libibverbs 1/2] Add contiguous pages support

2015-12-08 Thread Yishai Hadas
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 +++---

[RFC libibverbs 2/2] Example code to use contig pages

2015-12-08 Thread Yishai Hadas
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

[RFC libibverbs 0/2] Use MR with contiguous pages

2015-12-08 Thread Yishai Hadas
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

[RFC libmlx5 PATCH] Add contiguous pages support

2015-12-08 Thread Yishai Hadas
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

Re: [PATCH for-next 2/7] IB: Introduce Work Queue object and its verbs

2015-10-18 Thread Yishai Hadas
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

Re: [PATCH for-next 2/7] IB: Introduce Work Queue object and its verbs

2015-10-18 Thread Yishai Hadas
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

[PATCH V1 for-next 0/7] Verbs RSS

2015-10-18 Thread Yishai Hadas
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

[PATCH V1 for-next 6/7] IB/uverbs: Introduce RWQ Indirection table

2015-10-18 Thread Yishai Hadas
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

[PATCH V1 for-next 7/7] IB/mlx5: Add Receive Work Queue Indirection table operations

2015-10-18 Thread Yishai Hadas
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 +

[PATCH V1 for-next 3/7] IB/uverbs: Add WQ support

2015-10-18 Thread Yishai Hadas
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_

[PATCH V1 for-next 1/7] net/mlx5_core: Expose transobj APIs from mlx5 core

2015-10-18 Thread Yishai Hadas
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 +-

[PATCH V1 for-next 2/7] IB: Introduce Work Queue object and its verbs

2015-10-18 Thread Yishai Hadas
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

[PATCH V1 for-next 5/7] IB: Introduce Receive Work Queue indirection table

2015-10-18 Thread Yishai Hadas
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

[PATCH V1 for-next 4/7] IB/mlx5: Add receive Work Queue verbs

2015-10-18 Thread Yishai Hadas
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 +

[PATCH for-next 6/7] IB/uverbs: Introduce RWQ Indirection table

2015-10-15 Thread Yishai Hadas
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

[PATCH for-next 3/7] IB/uverbs: Add WQ support

2015-10-15 Thread Yishai Hadas
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_

[PATCH for-next 7/7] IB/mlx5: Add Receive Work Queue Indirection table operations

2015-10-15 Thread Yishai Hadas
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 +

[PATCH for-next 4/7] IB/mlx5: Add receive Work Queue verbs

2015-10-15 Thread Yishai Hadas
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 +

[PATCH for-next 1/7] net/mlx5_core: Expose transobj APIs from mlx5 core

2015-10-15 Thread Yishai Hadas
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 +-

[PATCH for-next 0/7] Verbs RSS

2015-10-15 Thread Yishai Hadas
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

[PATCH for-next 5/7] IB: Introduce Receive Work Queue indirection table

2015-10-15 Thread Yishai Hadas
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

Re: [PATCH for-next 2/7] IB: Introduce Work Queue object and its verbs

2015-10-15 Thread Yishai Hadas
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),

Re: [PATCH for-next 2/7] IB: Introduce Work Queue object and its verbs

2015-10-15 Thread Yishai Hadas
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

Re: libibverbs-1.2.0-rc1 release

2015-10-11 Thread Yishai Hadas
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

Re: [PATCH for-next V8 6/6] IB/ucma: HW Device hot-removal support

2015-08-19 Thread Yishai Hadas
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

[PATCH for-next V8 3/6] IB/uverbs: Explicitly pass ib_dev to uverbs commands

2015-08-13 Thread Yishai Hadas
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

[PATCH for-next V8 6/6] IB/ucma: HW Device hot-removal support

2015-08-13 Thread Yishai Hadas
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

[PATCH for-next V8 1/6] IB/uverbs: Fix reference counting usage of event files

2015-08-13 Thread Yishai Hadas
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

[PATCH for-next V8 2/6] IB/uverbs: Fix race between ib_uverbs_open and remove_one

2015-08-13 Thread Yishai Hadas
, 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

[PATCH for-next V8 4/6] IB/uverbs: Enable device removal when there are active user space applications

2015-08-13 Thread Yishai Hadas
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

[PATCH for-next V8 5/6] IB/mlx4_ib: Disassociate support

2015-08-13 Thread Yishai Hadas
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

Re: [PATCH for-next V7 6/6] IB/ucma: HW Device hot-removal support

2015-08-05 Thread Yishai Hadas
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

Re: [PATCH for-next V7 6/6] IB/ucma: HW Device hot-removal support

2015-08-05 Thread Yishai Hadas
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

[PATCH for-next V7 1/6] IB/uverbs: Fix reference counting usage of event files

2015-08-04 Thread Yishai Hadas
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

[PATCH for-next V7 3/6] IB/uverbs: Explicitly pass ib_dev to uverbs commands

2015-08-04 Thread Yishai Hadas
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

[PATCH for-next V7 0/6] HW Device hot-removal support

2015-08-04 Thread Yishai Hadas
. 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

[PATCH for-next V7 2/6] IB/uverbs: Fix race between ib_uverbs_open and remove_one

2015-08-04 Thread Yishai Hadas
, 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

[PATCH for-next V7 4/6] IB/uverbs: Enable device removal when there are active user space applications

2015-08-04 Thread Yishai Hadas
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

[PATCH for-next V7 5/6] IB/mlx4_ib: Disassociate support

2015-08-04 Thread Yishai Hadas
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

Re: [PATCH for-next V6 3/5] IB/uverbs: Enable device removal when there are active user space applications

2015-07-06 Thread Yishai Hadas
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

[PATCH for-next V6 5/5] IB/ucma: HW Device hot-removal support

2015-06-30 Thread Yishai Hadas
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

[PATCH for-next V6 0/5] HW Device hot-removal support

2015-06-30 Thread Yishai Hadas
: 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

[PATCH for-next V6 3/5] IB/uverbs: Enable device removal when there are active user space applications

2015-06-30 Thread Yishai Hadas
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

Re: [PATCH for-next V5 1/5] IB/uverbs: Fix reference counting usage of event files

2015-06-29 Thread Yishai Hadas
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

Re: [PATCH for-next V5 3/5] IB/uverbs: Enable device removal when there are active user space applications

2015-06-29 Thread Yishai Hadas
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

Re: [PATCH for-next V5 1/5] IB/uverbs: Fix reference counting usage of event files

2015-06-28 Thread Yishai Hadas
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

Re: [PATCH for-next V5 1/5] IB/uverbs: Fix reference counting usage of event files

2015-06-25 Thread Yishai Hadas
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

Re: [PATCH for-next V5 3/5] IB/uverbs: Enable device removal when there are active user space applications

2015-06-25 Thread Yishai Hadas
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

[PATCH for-next V5 5/5] IB/ucma: HW Device hot-removal support

2015-06-22 Thread Yishai Hadas
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

[PATCH for-next V5 4/5] IB/mlx4_ib: Disassociate support

2015-06-22 Thread Yishai Hadas
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

[PATCH for-next V5 0/5] HW Device hot-removal support

2015-06-22 Thread Yishai Hadas
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

[PATCH for-next V5 2/5] IB/uverbs: Explicitly pass ib_dev to uverbs commands

2015-06-22 Thread Yishai Hadas
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

[PATCH for-next V5 1/5] IB/uverbs: Fix reference counting usage of event files

2015-06-22 Thread Yishai Hadas
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

[PATCH for-next V4 2/5] IB/uverbs: Explicitly pass ib_dev to uverbs commands

2015-06-11 Thread Yishai Hadas
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

[PATCH for-next V4 3/5] IB/uverbs: Enable device removal when there are active user space applications

2015-06-11 Thread Yishai Hadas
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

[PATCH for-next V4 4/5] IB/mlx4_ib: Disassociate support

2015-06-11 Thread Yishai Hadas
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

[PATCH for-next V4 1/5] IB/uverbs: Fix reference counting usage of event files

2015-06-11 Thread Yishai Hadas
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

[PATCH for-next V4 5/5] IB/ucma: HW Device hot-removal support

2015-06-11 Thread Yishai Hadas
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

[PATCH for-next V4 0/5] HW Device hot-removal support

2015-06-11 Thread Yishai Hadas
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

Re: [PATCH V3 for-next 1/3] IB/uverbs: Enable device removal when there are active user space applications

2015-05-27 Thread Yishai Hadas
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

Re: [RESEND PATCH V3 for-next 0/3] HW Device hot-removal support

2015-05-25 Thread Yishai Hadas
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'

[PATCH V3 for-next 0/3] HW Device hot-removal support

2014-12-17 Thread Yishai Hadas
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

[PATCH V3 for-next 1/3] IB/uverbs: Enable device removal when there are active user space applications

2014-12-17 Thread Yishai Hadas
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

[PATCH V3 for-next 3/3] IB/ucma: HW Device hot-removal support

2014-12-17 Thread Yishai Hadas
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

[PATCH V3 for-next 2/3] IB/mlx4_ib: Disassociate support

2014-12-17 Thread Yishai Hadas
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

[PATCH V2 for-next 2/3] IB/mlx4_ib: Disassociate support

2014-11-25 Thread Yishai Hadas
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

[PATCH V2 for-next 0/3] HW Device hot-removal support

2014-11-25 Thread Yishai Hadas
: 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

[PATCH V2 for-next 1/3] IB/uverbs: Enable device removal when there are active user space applications

2014-11-25 Thread Yishai Hadas
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

[PATCH V2 for-next 3/3] IB/ucma: HW Device hot-removal support

2014-11-25 Thread Yishai Hadas
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

Re: [PATCH V1 for-next 2/2] IB/mlx4_ib: Disassociate support

2014-11-19 Thread Yishai Hadas
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

Re: [PATCH V1 for-next 1/2] IB/uverbs: Enable device removal when there are active user space applications

2014-11-19 Thread Yishai Hadas
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

[PATCH V1 for-next 0/2] HW Device hot-removal support

2014-11-18 Thread Yishai Hadas
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

[PATCH V1 for-next 2/2] IB/mlx4_ib: Disassociate support

2014-11-18 Thread Yishai Hadas
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

[PATCH V1 for-next 1/2] IB/uverbs: Enable device removal when there are active user space applications

2014-11-18 Thread Yishai Hadas
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

Re: [PATCH V1 for-next 1/2] IB/uverbs: Enable device removal when there are active user space applications

2014-11-18 Thread Yishai Hadas
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

Re: [PATCH V1 for-next 2/2] IB/mlx4_ib: Disassociate support

2014-11-18 Thread Yishai Hadas
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

Re: [PATCH 0/3] DAPL support on s390x platform

2014-11-12 Thread Yishai Hadas
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

[PATCH for-next 1/2] IB/uverbs: Enable device removal when there are active user space applications

2014-11-06 Thread Yishai Hadas
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

[PATCH for-next 2/2] IB/mlx4_ib: Disassociate support

2014-11-06 Thread Yishai Hadas
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

[PATCH for-next 0/2] HW Device hot-removal support

2014-11-06 Thread Yishai Hadas
, 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

Re: [PATCH V2 for-next 0/9] Peer-Direct support

2014-10-27 Thread Yishai Hadas
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

[PATCH V2 for-next 0/9] Peer-Direct support

2014-10-23 Thread Yishai Hadas
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

[PATCH V2 for-next 2/9] IB/core: Get/put peer memory client

2014-10-23 Thread Yishai Hadas
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

[PATCH V2 for-next 1/9] IB/core: Introduce peer client interface

2014-10-23 Thread Yishai Hadas
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

[PATCH V2 for-next 5/9] IB/core: Invalidation support for peer memory

2014-10-23 Thread Yishai Hadas
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

[PATCH V2 for-next 7/9] IB/mlx4: Invalidation support for MR over peer memory

2014-10-23 Thread 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

[PATCH V2 for-next 4/9] IB/core: Infrastructure to manage peer core context

2014-10-23 Thread Yishai Hadas
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

[PATCH V2 for-next 3/9] IB/core: Umem tunneling peer memory APIs

2014-10-23 Thread Yishai Hadas
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   2   >