Re: [PATCH 02/37] IB/rdmavt: Consolidate dma ops in rdmavt.

2015-12-07 Thread Leon Romanovsky
On Mon, Dec 07, 2015 at 03:43:06PM -0500, Dennis Dalessandro wrote: > + > +#define BAD_DMA_ADDRESS ((u64)0) What is the advantage in using directly u64 values instead of pointers? You will get NULL and functions which return pointers without need of casting. ... > +static u64

Re: [PATCH 01/37] IB/rdmavt: Create module framework and handle driver registration

2015-12-07 Thread Leon Romanovsky
On Mon, Dec 07, 2015 at 03:43:02PM -0500, Dennis Dalessandro wrote: > +#include > +#include > +#include "vt.h" > + > +#define RDMAVT_DRIVER_VERSION "0.1" Do we really need driver version? > + > +MODULE_LICENSE("Dual BSD/GPL"); > +MODULE_DESCRIPTION("RDMA Verbs Transport Library"); >

Re: [PATCH 03/37] IB/rdmavt: Add protection domain to rdmavt.

2015-12-07 Thread Leon Romanovsky
On Mon, Dec 07, 2015 at 03:43:10PM -0500, Dennis Dalessandro wrote: > + > +/* > + * Things that are driver specific, module parameters in hfi1 and qib > + */ > +struct rvt_driver_params { > + int max_pds; Can it be negative value? > +}; -- To unsubscribe from this list: send the line

Re: [PATCH for-next V2 05/11] IB/core: Add rdma_network_type to wc

2015-12-07 Thread Moni Shoua
On Mon, Dec 7, 2015 at 8:48 PM, Jason Gunthorpe wrote: > On Mon, Dec 07, 2015 at 08:34:43PM +0200, Moni Shoua wrote: >> Well, just tell me how you want to discover gid_index when you poll >> the WC out of the CQ. > > Hey, I'm not desiging this rocev2 stuff, this

Re: [PATCH 03/37] IB/rdmavt: Add protection domain to rdmavt.

2015-12-07 Thread Leon Romanovsky
On Tue, Dec 08, 2015 at 08:28:17AM +0200, Leon Romanovsky wrote: > On Mon, Dec 07, 2015 at 03:43:10PM -0500, Dennis Dalessandro wrote: > > + > > +/* > > + * Things that are driver specific, module parameters in hfi1 and qib > > + */ > > +struct rvt_driver_params { > > + int max_pds; > Can it be

Re: [PATCH 06/37] IB/rdmavt: Add query and modify device stubs

2015-12-07 Thread Leon Romanovsky
On Mon, Dec 07, 2015 at 02:39:04PM -0700, Jason Gunthorpe wrote: > On Mon, Dec 07, 2015 at 09:26:11PM +, Hefty, Sean wrote: > > > +static int rvt_query_device(struct ib_device *ibdev, > > > + struct ib_device_attr *props, > > > + struct ib_udata *uhw) >

warning in ext4 with nfs/rdma server

2015-12-07 Thread Steve Wise
Hey Chuck/NFS developers, We're hitting this warning in ext4 on the linux-4.3 nfs server running over RDMA/cxgb4. We're still gathering data, like if it happens with NFS/TCP. But has anyone seen this warning on 4.3? Is it likely to indicate some bug in the xprtrdma transport or above it in

[PATCH] IB/mlx4: use list_for_each_entry_safe in search_relocate_mgid0_group

2015-12-07 Thread Geliang Tang
Simplify the code with list_for_each_entry_safe(). Signed-off-by: Geliang Tang --- drivers/infiniband/hw/mlx4/mcg.c | 7 ++- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/drivers/infiniband/hw/mlx4/mcg.c b/drivers/infiniband/hw/mlx4/mcg.c index

Re: [PATCH for-next V2 07/11] IB/core: Validate route in ib_init_ah_from_wc and ib_init_ah_from_path

2015-12-07 Thread Haggai Eran
On 12/03/2015 03:47 PM, Matan Barak wrote: > +static int addr_resolve_neigh(struct dst_entry *dst, > + const struct sockaddr *dst_in, > + struct rdma_dev_addr *addr) > +{ > + if (dst->dev->flags & IFF_LOOPBACK) { > + int ret; > +

Re: warning in ext4 with nfs/rdma server

2015-12-07 Thread Chuck Lever
Hi Steve- > On Dec 7, 2015, at 10:38 AM, Steve Wise wrote: > > Hey Chuck/NFS developers, > > We're hitting this warning in ext4 on the linux-4.3 nfs server running over > RDMA/cxgb4. We're still gathering data, like if it > happens with NFS/TCP. But has anyone

Re: [PATCH libibverbs] init.c: increase sysfs read buffer size to 16

2015-12-07 Thread Haggai Eran
On 12/04/2015 01:09 AM, Jeff Squyres wrote: > The default value of 8 is too small to read > /sys/class/infiniband/usnic_x/node_type, which contains "6: usNIC > UDP". Per a7a73a8c1b39362f1701256bc772d82847832f9c, the too-small > buffer causes a stderr warning to be emitted from ibv_devinfo when >

Re: [PATCH for-next V2 05/11] IB/core: Add rdma_network_type to wc

2015-12-07 Thread Jason Gunthorpe
On Mon, Dec 07, 2015 at 08:37:41AM +0200, Moni Shoua wrote: > On Mon, Dec 7, 2015 at 8:34 AM, Jason Gunthorpe > wrote: > > On Mon, Dec 07, 2015 at 08:15:40AM +0200, Moni Shoua wrote: > > > >> What you have though is the sgid taken from the GRH that is scattered >

Re: [PATCH 0/6] SRP initiator related bug fixes

2015-12-07 Thread Bart Van Assche
On 12/05/2015 03:17 AM, Christoph Hellwig wrote: Hi Bart, On Fri, Dec 04, 2015 at 03:08:15PM -0800, Bart Van Assche wrote: While preparing this patch series I noticed that none of the SCSI RDMA initiator drivers syncs RDMA buffers before performing RDMA. Does anyone know why something like the

Re: [PATCH] infiniband:core:Add needed error path in cm_init_av_by_path

2015-12-07 Thread Michael Wang
On 12/07/2015 08:57 AM, Haggai Eran wrote: > On Friday, December 4, 2015 8:02 PM, Nicholas Krause > wrote: >> To: dledf...@redhat.com >> Cc: sean.he...@intel.com; hal.rosenst...@gmail.com; Haggai Eran; >> jguntho...@obsidianresearch.com; Matan Barak;

Re: [PATCH 5/5] staging/rdma/hfi1: Add page lock limit check for SDMA requests

2015-12-07 Thread Dan Carpenter
On Wed, Dec 02, 2015 at 03:56:27PM -0500, ira.we...@intel.com wrote: > - for (i = tx->idx; i >= 0; i--) { > - if (tx->iovecs[i].flags & TXREQ_FLAGS_IOVEC_LAST_PKT) > - unpin_vector_pages(tx->iovecs[i].vec); > + /* > + * If we

Re: [PATCH libmlx5 V1 6/6] Add always_inline check

2015-12-07 Thread Haggai Eran
On 12/03/2015 06:02 PM, Matan Barak wrote: > Always inline isn't supported by every compiler. Adding it to > configure.ac in order to support it only when possible. > Inline other poll_one data path functions in order to eliminate > "ifs". > > Signed-off-by: Matan Barak >

Re: [PATCH for-next V1 2/5] IB/core: Add ib_is_udata_cleared

2015-12-07 Thread Haggai Eran
On 12/03/2015 05:44 PM, Matan Barak wrote: > Extending core and vendor verb commands require us to check that the > unknown part of the user's given command is all zeros. > Adding ib_is_udata_cleared in order to do so. > Why not copy the data into kernel space and run memchr_inv() on it? -- To

Re: [PATCH 0/6] SRP initiator related bug fixes

2015-12-07 Thread Bart Van Assche
On 12/01/2015 10:16 AM, Bart Van Assche wrote: This patch series contains six bug fixes either for the SRP initiator itself or for IB core functionality used by the SRP initiator. The order of these patches matches the order in which the corresponding bugs have been introduced. The patches in

[PATCH] staging/rdma/hfi1: convert buffers allocated atomic to per cpu

2015-12-07 Thread Mike Marciniszyn
Profiling has shown the the atomic is a performance issue for the pio hot path. If multiple cpus allocated an sc's buffer, the cacheline containing the atomic will bounce from L0 to L0. Convert the atomic to a percpu variable. Reviewed-by: Jubin John Signed-off-by: Mike

[PATCH v3 2/6] svcrdma: Improve allocation of struct svc_rdma_op_ctxt

2015-12-07 Thread Chuck Lever
Turns out that when the maximum payload size of NFS READ and WRITE was increased to 1MB, the size of struct svc_rdma_op_ctxt increased to 6KB (x86_64). That makes allocating one of these from a kmem_cache more likely to fail. Allocating one of these has to be fast in general, and none of the

[PATCH v3 4/6] svcrdma: Add infrastructure to send backwards direction RPC/RDMA calls

2015-12-07 Thread Chuck Lever
To support the NFSv4.1 backchannel on RDMA connections, add a mechanism for sending a backwards-direction RPC/RDMA call on a connection established by a client. Signed-off-by: Chuck Lever --- include/linux/sunrpc/svc_rdma.h |2 +

[PATCH 03/37] IB/rdmavt: Add protection domain to rdmavt.

2015-12-07 Thread Dennis Dalessandro
Add datastructure for and allocation/deallocation of protection domains for RDMAVT. Reviewed-by: Ira Weiny Reviewed-by: Mike Marciniszyn Signed-off-by: Dennis Dalessandro --- drivers/infiniband/sw/rdmavt/Makefile |

[PATCH v3 5/6] svcrdma: Add infrastructure to receive backwards direction RPC/RDMA replies

2015-12-07 Thread Chuck Lever
To support the NFSv4.1 backchannel on RDMA connections, add a capability for receiving an RPC/RDMA reply on a connection established by a client. Signed-off-by: Chuck Lever --- include/linux/sunrpc/svc_rdma.h|5 ++ net/sunrpc/xprtrdma/Makefile

[PATCH 01/37] IB/rdmavt: Create module framework and handle driver registration

2015-12-07 Thread Dennis Dalessandro
This patch introduces the basics for a new module called rdma_vt. This new driver is a software implementation of the InfiniBand verbs and aims to replace the multiple implementations that exist and duplicate each others' code. While the call to actually register the device with the IB core

[PATCH v3 6/6] xprtrdma: Add class for RDMA backwards direction transport

2015-12-07 Thread Chuck Lever
To support the server-side of an NFSv4.1 backchannel on RDMA connections, add a transport class that enables backward direction messages on an existing forward channel connection. Signed-off-by: Chuck Lever --- include/linux/sunrpc/xprt.h|1

[PATCH 02/37] IB/rdmavt: Consolidate dma ops in rdmavt.

2015-12-07 Thread Dennis Dalessandro
This patch adds dma functions to rdmavt. The source is hfi1's version of dma.c which will be removed by a subsequent hfi1 patch. Reviewed-by: Ira Weiny Reviewed-by: Mike Marciniszyn Signed-off-by: Dennis Dalessandro

[PATCH 04/37] IB/rdmavt: Add ib core device attributes to rvt driver params list

2015-12-07 Thread Dennis Dalessandro
Instead of trying to handle each parameter separately, add ib_device_attr to rvt_driver_params. This means drivers will fill this in and pass to the rvt registration function. Reviewed-by: Mike Marciniszyn Reviewed-by: Ira Weiny Signed-off-by:

[PATCH 05/37] IB/rdmavt: Macroize override checks during driver registration

2015-12-07 Thread Dennis Dalessandro
Add a macro to cut down on writing the same lines over and over again for what will be a large number of functions that will be supported. Reviewed-by: Mike Marciniszyn Reviewed-by: Ira Weiny Signed-off-by: Dennis Dalessandro

[PATCH 00/37] Add rdma verbs transport library

2015-12-07 Thread Dennis Dalessandro
The following series implements rdmavt. This is the rdma verbs transport software library which will help to solve the problem of code duplication between hardware drivers when it comes to a verbs implementation. Rdmavt is basically just another verbs provider and lives in the Infiniband tree in

[PATCH v3 3/6] svcrdma: Define maximum number of backchannel requests

2015-12-07 Thread Chuck Lever
Extra resources for handling backchannel requests have to be pre-allocated when a transport instance is created. Set a limit. Signed-off-by: Chuck Lever --- include/linux/sunrpc/svc_rdma.h |2 ++ net/sunrpc/xprtrdma/svc_rdma_transport.c | 14 +-

[PATCH 20/37] IB/rdamvt: Add post send and recv stubs

2015-12-07 Thread Dennis Dalessandro
This adds the post sned and recv function stubs. Reviewed-by: Mike Marciniszyn Reviewed-by: Ira Weiny Signed-off-by: Dennis Dalessandro --- drivers/infiniband/sw/rdmavt/qp.c | 62

[PATCH 10/37] IB/rdmavt: Alloc and dealloc ucontexts

2015-12-07 Thread Dennis Dalessandro
Add the stubs to allocate and deallocate user contexts. This will be handled completely by rvt. Reviewed-by: Mike Marciniszyn Reviewed-by: Ira Weiny Signed-off-by: Dennis Dalessandro ---

[PATCH 13/37] IB/rdmavt: Add memory region stubs

2015-12-07 Thread Dennis Dalessandro
Adds the function stubs for allocating, and registering memory regions, as well as deregistering them. Reviewed-by: Mike Marciniszyn Reviewed-by: Ira Weiny Signed-off-by: Dennis Dalessandro ---

[PATCH 24/37] IB/rdmavt: Add device specific info prints

2015-12-07 Thread Dennis Dalessandro
Follow hfi1's example for printing information about the driver and incorporate into rdmavt. This requires two new functions to be provided by the driver, one to get_card_name and one to get_pci_dev. Reviewed-by: Mike Marciniszyn Reviewed-by: Ira Weiny

[PATCH 09/37] IB/rdmavt: Add query gid stub

2015-12-07 Thread Dennis Dalessandro
The handler for query gid operates along the same lines as the query pkey handler. The driver will take care to keep the guid table updated. Reviewed-by: Mike Marciniszyn Reviewed-by: Ira Weiny Signed-off-by: Dennis Dalessandro

[PATCH 06/37] IB/rdmavt: Add query and modify device stubs

2015-12-07 Thread Dennis Dalessandro
Adds the stubs which will handle the query and modify device functions. At this time the only intention is to support changing the node desc and the guid via these calls. Reviewed-by: Mike Marciniszyn Reviewed-by: Ira Weiny Signed-off-by: Dennis

[PATCH 12/37] IB/rdmavt: Add address handle stubs

2015-12-07 Thread Dennis Dalessandro
Adds the stubs for create, destroy, modify, and query of the address handle. Reviewed-by: Mike Marciniszyn Reviewed-by: Ira Weiny Signed-off-by: Dennis Dalessandro --- drivers/infiniband/sw/rdmavt/Makefile |3 -

[PATCH 08/37] IB/rdmavt: Add pkey query stub

2015-12-07 Thread Dennis Dalessandro
The pkey table will reside in the rvt structure but it will be modified only when the driver requests then rvt will simply read the value to return in the query. Reviewed-by: Mike Marciniszyn Reviewed-by: Ira Weiny Signed-off-by: Dennis

[PATCH 17/37] IB/rdmavt: Add mmap stub

2015-12-07 Thread Dennis Dalessandro
Adds the stub for the mmap verbs call. Reviewed-by: Mike Marciniszyn Reviewed-by: Ira Weiny Signed-off-by: Dennis Dalessandro --- drivers/infiniband/sw/rdmavt/Makefile |2 + drivers/infiniband/sw/rdmavt/mmap.c

[PATCH 14/37] IB/rdmavt: Add SRQ stubs

2015-12-07 Thread Dennis Dalessandro
Adds the stubs for create, modify, query, and destory for shared request queues. Reviewed-by: Mike Marciniszyn Reviewed-by: Ira Weiny Signed-off-by: Dennis Dalessandro --- drivers/infiniband/sw/rdmavt/Makefile |

[PATCH 07/37] IB/rdmavt: Add query and modify port stubs

2015-12-07 Thread Dennis Dalessandro
This patch adds the query and modify port stubs. The query will mostly entail the driver returning everything in the ib_port_attr which will get handed back to the verbs layer. The modify will need some API helpers in the driver. The send_trap and post_mad_send are still issues to address.

[PATCH 11/37] IB/rdmavt: Add queue pair function stubs

2015-12-07 Thread Dennis Dalessandro
Adds the stubs for create, modify, destroy and query functions for queue pairs. Reviewed-by: Mike Marciniszyn Reviewed-by: Ira Weiny Signed-off-by: Dennis Dalessandro --- drivers/infiniband/sw/rdmavt/Makefile |

[PATCH 15/37] IB/rdmavt: Add multicast stubs

2015-12-07 Thread Dennis Dalessandro
Adds the function stubs for attach and detach multicast. Reviewed-by: Mike Marciniszyn Reviewed-by: Ira Weiny Signed-off-by: Dennis Dalessandro --- drivers/infiniband/sw/rdmavt/Makefile |2 +

[PATCH 16/37] IB/rdmavt: Add process MAD stub

2015-12-07 Thread Dennis Dalessandro
This adds the stub for process mad. More study is needed to determine the final MAD interaction between the driver and rvt. Reviewed-by: Mike Marciniszyn Reviewed-by: Ira Weiny Signed-off-by: Dennis Dalessandro ---

[PATCH 19/37] IB/rdmavt: Add completion queue function stubs

2015-12-07 Thread Dennis Dalessandro
Create stubs for completion queue creation, polling, resizing, calling for notification, and destroying. Reviewed-by: Mike Marciniszyn Reviewed-by: Ira Weiny Signed-off-by: Dennis Dalessandro ---

[PATCH 22/37] IB/rdmavt: Add queue pair data structure to rdmavt

2015-12-07 Thread Dennis Dalessandro
Add queue pair data structure as well as supporting structures to rdmavt. Reviewed-by: Ira Weiny Reviewed-by: Mike Marciniszyn Signed-off-by: Dennis Dalessandro --- drivers/infiniband/sw/rdmavt/qp.h |5 -

[PATCH 21/37] IB/rdmavt: Move MR datastructures into rvt

2015-12-07 Thread Dennis Dalessandro
This patch adds the MR datastructures based on hfi1 into rvt. For now the data structures are defined in include/rdma/rdma_vt.h but once all MR functionality has been moved from the drivers into rvt these should move to rdmavt/mr.h Reviewed-by: Ira Weiny Reviewed-by: Dean

[PATCH 31/37] IB/rdmavt: Add an ibport data structure to rdmavt

2015-12-07 Thread Dennis Dalessandro
Converge the ibport data structures of qib and hfi1 into a common ib port structure. Also provides a place to keep track of these ports in case rdmavt needs it. Along with this goes an attach and detach function for drivers to use to notify rdmavt of the ports. Reviewed-by: Ira Weiny

[PATCH 18/37] IB/rdmavt: Add get port immutable stub

2015-12-07 Thread Dennis Dalessandro
This adds the get port immutable verbs call. Reviewed-by: Mike Marciniszyn Reviewed-by: Ira Weiny Signed-off-by: Dennis Dalessandro --- drivers/infiniband/sw/rdmavt/vt.c |7 +++ 1 files changed, 7

[PATCH 23/37] IB/rdmavt: Move driver helper functions to a common structure

2015-12-07 Thread Dennis Dalessandro
Drivers are going to need to provide multiple functions for rdmavt to call in to. We already have one, so go ahead and push this into a data structure designated for driver supplied functions. Reviewed-by: Mike Marciniszyn Reviewed-by: Ira Weiny

Re: [PATCH] IB/mlx4: use list_for_each_entry_safe in search_relocate_mgid0_group

2015-12-07 Thread Leon Romanovsky
On Mon, Dec 07, 2015 at 11:04:43PM +0800, Geliang Tang wrote: > Simplify the code with list_for_each_entry_safe(). > > Signed-off-by: Geliang Tang > --- > drivers/infiniband/hw/mlx4/mcg.c | 7 ++- > 1 file changed, 2 insertions(+), 5 deletions(-) > > diff --git

[PATCH 30/37] IB/rdmavt: Move SRQ data structure into rdmavt

2015-12-07 Thread Dennis Dalessandro
Patch moves the srq data structure into rdmavt in preparation for removal from qib and hfi1 which will follow in subsequent patches. Reviewed-by: Ira Weiny Reviewed-by: Harish Chegondi Signed-off-by: Dennis Dalessandro

[PATCH 28/37] IB/rdmavt: Add common LID defines to rdmavt

2015-12-07 Thread Dennis Dalessandro
From: Kamal Heib Original patch is from Kamal Heib . It has been split into separate patches. This patch adds RVT_PERMISSIVE_LID and RVT_MULTICAST_LID_BASE to rdmavt. Reviewed-by: Ira Weiny Signed-off-by: Kamal Heib

[PATCH 26/37] IB/rdmavt: Move memory registration into rdmavt

2015-12-07 Thread Dennis Dalessandro
Use the memory registration routines in hfi1 and move them to rdmavt. A follow on patch will address removing the duplicated code in the hfi1 and qib drivers. Reviewed-by: Ira Weiny Reviewed-by: Mike Marciniszyn Signed-off-by: Dennis Dalessandro

[PATCH 25/37] IB/rdmavt: Add the start of capability flags

2015-12-07 Thread Dennis Dalessandro
Drivers will need a set of flags to dictate behavior to rdmavt. This patch adds a placeholder and a spot for it to live, as well as a few flags that will be used. Reviewed-by: Ira Weiny Reviewed-by: Mike Marciniszyn Signed-off-by: Dennis

[PATCH 29/37] IB/rdmavt: Add AH to rdmavt

2015-12-07 Thread Dennis Dalessandro
From: Kamal Heib Original patch is from Kamal Heib . It has been split into three separate patches. This one for rdmavt, a follow on for qib, and one for hfi1. Create datastructure for address handle and implement the create/destroy/modify/query of

[PATCH 32/37] IB/rdmavt: Add driver notification for new AH

2015-12-07 Thread Dennis Dalessandro
Drivers may need to do some work once an address handle has been created. Add a driver function for this purpose. Reviewed-by: Ira Weiny Reviewed-by: Mike Marciniszyn Reviewed-by: Harish Chegondi Signed-off-by: Dennis

[PATCH 36/37] IB/rdmavt: Add pkey support

2015-12-07 Thread Dennis Dalessandro
Add pkey table in rdi per port data structure. Also bring in related pkey functions. Drivers will still be responsible for allocating and maintaining the pkey table. However they need to tell rdmavt where to find the pkey table. We can not move the pkey table up into rdmavt because drivers need to

[PATCH 34/37] IB/rdmavt: Initialize and teardown of qpn table

2015-12-07 Thread Dennis Dalessandro
Add table init as well as teardown for handling qpn maps. Drivers can still provide this functionality by setting the QP_INIT_DRIVER bit. Reviewed-by: Ira Weiny Reviewed-by: Mike Marciniszyn Signed-off-by: Dennis Dalessandro

[PATCH 35/37] IB/rdmavt: Add mmap related functions

2015-12-07 Thread Dennis Dalessandro
The mmap data structure was moved in a previous commit. This patch now pulls in the related functions. Reviewed-by: Ira Weiny Reviewed-by: Mike Marciniszyn Signed-off-by: Dennis Dalessandro ---

[PATCH 27/37] IB/rdmavt: Do not use rvt prints which rely on driver too early

2015-12-07 Thread Dennis Dalessandro
Trying to print debug and error messages with the rdmavt helpers will not work out so well if the drivers have not provided the get_card and get pci functions. Use the normal pr_error instead until we can check this. Reviewed-by: Ira Weiny Reviewed-by: Mike Marciniszyn

[PATCH 07/10] IB/qib: Add device specific info prints

2015-12-07 Thread Dennis Dalessandro
Implement get_card_name and get_pci_dev helper functions for rdmavt for qib. Reviewed-by: Mike Marciniszyn Reviewed-by: Ira Weiny Signed-off-by: Dennis Dalessandro --- drivers/infiniband/hw/qib/qib.h|2

[PATCH 03/10] IB/qib: Use rdmavt protection domain

2015-12-07 Thread Dennis Dalessandro
Remove protection domain datastructure from qib and use rdmavts version. Reviewed-by: Ira Weiny Reviewed-by: Mike Marciniszyn Signed-off-by: Dennis Dalessandro --- drivers/infiniband/hw/qib/qib_keys.c |6 ++-

[PATCH 04/10] IB/qib: Remove most uses of QIB_PERMISSIVE_LID and QIB_MULTICAST_LID_BASE

2015-12-07 Thread Dennis Dalessandro
This patch removes most of the uses of QIB_PERMISSIBVE_LID and QIB_MULTICAST_LID_BASE in favor of the recently added IB_* versions. There are still minor uses in AH functions as well as the QIB_* defines but those will be removed in a follow on patch. Reviewed-by: Ira Weiny

[PATCH 05/10] IB/qib: Use rdmavt lid defines in qib

2015-12-07 Thread Dennis Dalessandro
Original patch for AH changes from Kamal Heib , split apart from original. This patch also removes the qib specific multicast lid base and permissive lid defines since they are no longer needed. Use common LID defines in qib driver. Reviewed-by: Ira Weiny

[PATCH 06/10] IB/qib: Remove driver specific members from qib qp type

2015-12-07 Thread Dennis Dalessandro
In preparation for moving the queue pair data structure to rdmavt the members of the driver specific queue pairs which are not common need to be pushed off to a private driver structure. This structure will be available in the queue pair once moved to rdmavt as a void pointer. This patch while not

[PATCH 08/10] IB/qib: Remove qp and mr functionality from qib

2015-12-07 Thread Dennis Dalessandro
Remove qp and mr support from qib and use rdmavt. These two changes cannot be reasonably be split apart into separate patches because they depend on eachother in multple places. This paves the way to remove even more functions in subsequent patches. Reviewed-by: Ira Weiny

[PATCH 00/10] Begin to use rdmavt for qib

2015-12-07 Thread Dennis Dalessandro
The following series implements the beginning support of rdmavt in the qib driver. The memory registration and protection domain functionality has been moved out of the driver as well as critical qp data structures. More patches will follow to incrementally remove code from qib and use the

[PATCH 02/10] IB/qib: Remove dma.c and use rdmavt version of dma functions

2015-12-07 Thread Dennis Dalessandro
This patch removes the qib_dma.c file and uses the version which has been added to rdmavt. Reviewed-by: Ira Weiny Reviewed-by: Mike Marciniszyn Signed-off-by: Dennis Dalessandro ---

[PATCH 01/10] IB/qib: Begin to use rdmavt for verbs

2015-12-07 Thread Dennis Dalessandro
This patch begins to make use of rdmavt by registering with it and providing access to the header files. This is just the beginning of rdmavt support in qib. Most functionality is still being done in the driver, set flags so that rdmavt will let qib continue to handle mr, qp, and cq init.

[PATCH 09/10] IB/qib: Use address handle in rdmavt and remove from qib

2015-12-07 Thread Dennis Dalessandro
Original patch from Kamal Heib , split apart from original. Remove AH from qib and use rdmavt version. Reviewed-by: Ira Weiny Signed-off-by: Kamal Heib Signed-off-by: Dennis Dalessandro ---

[PATCH 10/10] IB/qib: Remove srq from qib

2015-12-07 Thread Dennis Dalessandro
Remove srq from qib now that it has been moved into rdmavt. Reviewed-by: Ira Weiny Reviewed-by: Mike Marciniszyn Reviewed-by: Harish Chegondi Signed-off-by: Dennis Dalessandro ---

Re: [PATCH 05/10] IB/qib: Use rdmavt lid defines in qib

2015-12-07 Thread Jason Gunthorpe
On Mon, Dec 07, 2015 at 03:49:12PM -0500, Dennis Dalessandro wrote: > /* A multicast address requires a GRH (see ch. 8.4.1). */ > - if (ah_attr->dlid >= QIB_MULTICAST_LID_BASE && > - ah_attr->dlid != QIB_PERMISSIVE_LID && > + if (ah_attr->dlid >=

completion queue abstraction V2

2015-12-07 Thread Christoph Hellwig
This series adds a new RDMA core abstraction that insulated the ULPs from the nitty gritty details of CQ polling. See the individual patches for more details. Note that this series should be applied on top of my "IB: merge struct ib_device_attr into struct ib_device" patch and the MR cleanups.

[PATCH 11/13] IB/iser: Use a dedicated descriptor for login

2015-12-07 Thread Christoph Hellwig
From: Sagi Grimberg We'll need it later with the new CQ abstraction. also switch login bufs to void pointers. Signed-off-by: Sagi Grimberg Signed-off-by: Christoph Hellwig --- drivers/infiniband/ulp/iser/iscsi_iser.h | 30 +--

[PATCH 08/13] IB/srpt: chain RDMA READ/WRITE requests

2015-12-07 Thread Christoph Hellwig
Remove struct rdma_iu and instead allocate the struct ib_rdma_wr array early and fill out directly. This allows us to chain the WRs, and thus archive both less lock contention on the HCA workqueue as well as much simpler error handling. Signed-off-by: Christoph Hellwig ---

[PATCH 09/13] IB/srpt: use the new CQ API

2015-12-07 Thread Christoph Hellwig
Signed-off-by: Christoph Hellwig --- drivers/infiniband/ulp/srpt/ib_srpt.c | 327 +- drivers/infiniband/ulp/srpt/ib_srpt.h | 28 +-- 2 files changed, 88 insertions(+), 267 deletions(-) diff --git a/drivers/infiniband/ulp/srpt/ib_srpt.c

[PATCH 10/13] IB/srp: use the new CQ API

2015-12-07 Thread Christoph Hellwig
This also moves recv completion handling from hardirq context into softirq context. Signed-off-by: Christoph Hellwig --- drivers/infiniband/ulp/srp/ib_srp.c | 173 +--- drivers/infiniband/ulp/srp/ib_srp.h | 7 +- 2 files changed, 86 insertions(+),

[PATCH 13/13] IB/iser: Convert to CQ abstraction

2015-12-07 Thread Christoph Hellwig
From: Sagi Grimberg Use the new CQ abstraction to simplify completions in the iSER initiator. Signed-off-by: Sagi Grimberg Signed-off-by: Christoph Hellwig --- drivers/infiniband/ulp/iser/iscsi_iser.h | 72 +---

[PATCH 12/13] IB/iser: Use helper for container_of

2015-12-07 Thread Christoph Hellwig
From: Sagi Grimberg Nicer this way. Signed-off-by: Sagi Grimberg Signed-off-by: Christoph Hellwig --- drivers/infiniband/ulp/iser/iscsi_iser.h | 6 ++ drivers/infiniband/ulp/iser/iser_initiator.c | 3 +--

[PATCH 05/13] irq_poll: mark __irq_poll_complete static

2015-12-07 Thread Christoph Hellwig
Signed-off-by: Christoph Hellwig --- include/linux/irq_poll.h | 1 - lib/irq_poll.c | 3 +-- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/include/linux/irq_poll.h b/include/linux/irq_poll.h index c3145c7..ce9e1db 100644 --- a/include/linux/irq_poll.h +++

[PATCH 06/13] irq_poll: remove unused data and max fields

2015-12-07 Thread Christoph Hellwig
Signed-off-by: Christoph Hellwig --- include/linux/irq_poll.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/include/linux/irq_poll.h b/include/linux/irq_poll.h index ce9e1db..7527c03 100644 --- a/include/linux/irq_poll.h +++ b/include/linux/irq_poll.h @@ -7,9 +7,7 @@ typedef

[PATCH 03/13] irq_poll: fold irq_poll_sched_prep into irq_poll_sched

2015-12-07 Thread Christoph Hellwig
There is no good reason to keep them apart, and this makes using the API a bit simpler. Signed-off-by: Christoph Hellwig --- drivers/scsi/be2iscsi/be_main.c | 6 ++ drivers/scsi/ipr.c | 3 +-- include/linux/irq_poll.h| 13 - lib/irq_poll.c

[PATCH 02/13] irq_poll: don't disable new irq_poll instances

2015-12-07 Thread Christoph Hellwig
There is no good reason to start out disabled - drivers can control if the poll instance can be scheduled by simply not scheduling it yet. Signed-off-by: Christoph Hellwig --- drivers/scsi/be2iscsi/be_main.c | 2 -- drivers/scsi/ipr.c | 2 -- lib/irq_poll.c

[PATCH 04/13] irq_poll: fold irq_poll_disable_pending into irq_poll_softirq

2015-12-07 Thread Christoph Hellwig
Signed-off-by: Christoph Hellwig --- include/linux/irq_poll.h | 5 - lib/irq_poll.c | 2 +- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/include/linux/irq_poll.h b/include/linux/irq_poll.h index 73d7c20..c3145c7 100644 --- a/include/linux/irq_poll.h

[PATCH 01/13] irq_poll: make blk-iopoll available outside the block layer

2015-12-07 Thread Christoph Hellwig
The new name is irq_poll as iopoll is already taken. Better suggestions welcome. Signed-off-by: Christoph Hellwig --- Documentation/kernel-per-CPU-kthreads.txt | 2 +- block/Makefile| 2 +- block/blk-iopoll.c| 224

Re: [PATCH 0/6] SRP initiator related bug fixes

2015-12-07 Thread Doug Ledford
On 12/07/2015 02:26 PM, Bart Van Assche wrote: > On 12/01/2015 10:16 AM, Bart Van Assche wrote: >> This patch series contains six bug fixes either for the SRP initiator >> itself or for IB core functionality used by the SRP initiator. The order >> of these patches matches the order in which the

RE: [PATCH 03/37] IB/rdmavt: Add protection domain to rdmavt.

2015-12-07 Thread Hefty, Sean
> +struct ib_pd *rvt_alloc_pd(struct ib_device *ibdev, > +struct ib_ucontext *context, > +struct ib_udata *udata) > +{ > + struct rvt_dev_info *dev = ib_to_rvt(ibdev); > + struct rvt_pd *pd; > + struct ib_pd *ret; > + > + pd =

RE: [PATCH 00/37] Add rdma verbs transport library

2015-12-07 Thread Hefty, Sean
> The following series implements rdmavt. This is the rdma verbs transport > software library This is going to be an annoying request, but I would rather see this named the IB transport library, unless this framework is usable over iWarp as well. N�r��yb�X��ǧv�^�)޺{.n�+{��ٚ�{ay�

RE: [PATCH 06/37] IB/rdmavt: Add query and modify device stubs

2015-12-07 Thread Hefty, Sean
> +static int rvt_query_device(struct ib_device *ibdev, > + struct ib_device_attr *props, > + struct ib_udata *uhw) > +{ > + /* > + * Return rvt_dev_info.props contents > + */ > + return -EINVAL; ENOSYS on all of the function

RE: [PATCH 01/37] IB/rdmavt: Create module framework and handle driver registration

2015-12-07 Thread Hefty, Sean
> @@ -0,0 +1,89 @@ > +/* > + * > + * This file is provided under a dual BSD/GPLv2 license. When using or > + * redistributing this file, you may do so under either license. > + * > + * GPL LICENSE SUMMARY > + * > + * Copyright(c) 2015 Intel Corporation. I'm guessing that the GPL license text

RE: [PATCH 05/37] IB/rdmavt: Macroize override checks during driver registration

2015-12-07 Thread Hefty, Sean
> +/* > + * Check driver override. If driver passes a value use it, otherwise we > use our > + * own value. > + */ > +#define CDR(rdi, x) \ > + rdi->ibdev.x = rdi->ibdev.x ? : rvt_ ##x This is an extremely obscure name. No one will be able to look at this: > + CDR(rdi, alloc_pd); > +

Re: [PATCH 06/37] IB/rdmavt: Add query and modify device stubs

2015-12-07 Thread Jason Gunthorpe
On Mon, Dec 07, 2015 at 09:26:11PM +, Hefty, Sean wrote: > > +static int rvt_query_device(struct ib_device *ibdev, > > + struct ib_device_attr *props, > > + struct ib_udata *uhw) > > +{ > > + /* > > +* Return rvt_dev_info.props contents > > +

RE: [PATCH 21/37] IB/rdmavt: Move MR datastructures into rvt

2015-12-07 Thread Hefty, Sean
> include/rdma/rdma_vt.h | 53 > > 1 files changed, 53 insertions(+), 0 deletions(-) > > diff --git a/include/rdma/rdma_vt.h b/include/rdma/rdma_vt.h > index 5112dd7..39a0737 100644 > --- a/include/rdma/rdma_vt.h > +++ b/include/rdma/rdma_vt.h >

RE: [PATCH 22/37] IB/rdmavt: Add queue pair data structure to rdmavt

2015-12-07 Thread Hefty, Sean
> drivers/infiniband/sw/rdmavt/qp.h |5 - > include/rdma/rdma_vt.h| 233 > + > 2 files changed, 233 insertions(+), 5 deletions(-) > > diff --git a/drivers/infiniband/sw/rdmavt/qp.h > b/drivers/infiniband/sw/rdmavt/qp.h > index 4e4709f..c80d326

Re: [PATCH 0/6] SRP initiator related bug fixes

2015-12-07 Thread Bart Van Assche
On 12/07/2015 01:07 PM, Doug Ledford wrote: On 12/07/2015 02:26 PM, Bart Van Assche wrote: On 12/01/2015 10:16 AM, Bart Van Assche wrote: This patch series contains six bug fixes either for the SRP initiator itself or for IB core functionality used by the SRP initiator. The order of these

RE: [PATCH for-next V2 05/11] IB/core: Add rdma_network_type to wc

2015-12-07 Thread cait
Moni Shoua asked: > but how? all you have in hand is the sgid which can appear several > times in the GID table in different indices. Step back and review the context. Adding an extra field to the WC is *not* going to redesign the hardware. Anything that software can do in the verbs

Re: [PATCH for-next V2 05/11] IB/core: Add rdma_network_type to wc

2015-12-07 Thread Jason Gunthorpe
On Mon, Dec 07, 2015 at 08:34:43PM +0200, Moni Shoua wrote: > Well, just tell me how you want to discover gid_index when you poll > the WC out of the CQ. Hey, I'm not desiging this rocev2 stuff, this is something the rocev2 community needs to sort out. > Like I said, the sgid itself is in the

Re: [PATCH for-next V2 05/11] IB/core: Add rdma_network_type to wc

2015-12-07 Thread Moni Shoua
On Mon, Dec 7, 2015 at 8:19 PM, wrote: > Moni Shoua asked: > > > >> but how? all you have in hand is the sgid which can appear several > >> times in the GID table in different indices. > > > Step back and review the context. > > Adding an extra field to the WC is *not* going to

Re: [PATCH for-next V2 05/11] IB/core: Add rdma_network_type to wc

2015-12-07 Thread Moni Shoua
Well, just tell me how you want to discover gid_index when you poll the WC out of the CQ. Like I said, the sgid itself is in the GRH that is scattered to the buffers in the receive queue. When ib_poll_cq() is called the pointer to GRH is not passed so there is no way to determine the gid_index

  1   2   >