RE: [PATCH V1 for-next 6/9] IB/core: Sysfs support for peer memory

2014-10-07 Thread Shachar Raindel
-Original Message- From: linux-rdma-ow...@vger.kernel.org [mailto:linux-rdma- ow...@vger.kernel.org] On Behalf Of Jason Gunthorpe Sent: Tuesday, October 07, 2014 12:00 AM To: Yishai Hadas Cc: rol...@kernel.org; linux-rdma@vger.kernel.org; Shachar Raindel Subject: Re: [PATCH V1

Re: [PATCH 8/8] IB/srp: Add multichannel support

2014-10-07 Thread Bart Van Assche
On 09/23/14 18:32, Sagi Grimberg wrote: Since you don't seem to negotiate/declare multichannel with the target, did you test this code with some target implementations other than SCST that happen to be out there? (replying to an e-mail of two weeks ago) Hello Sagi, I have just verified that

[PATCH v2 0/12] IB/srp: Add multichannel support

2014-10-07 Thread Bart Van Assche
Although the SRP protocol supports multichannel operation, although since considerable time RDMA HCA's are available that support multiple completion vectors and although multichannel operation yields better performance than using a single channel, the Linux SRP initiator does not yet support

[PATCH v2 01/12] blk-mq: Use all available hardware queues

2014-10-07 Thread Bart Van Assche
Suppose that a system has two CPU sockets, three cores per socket, that it does not support hyperthreading and that four hardware queues are provided by a block driver. With the current algorithm this will lead to the following assignment of CPU cores to hardware queues: HWQ 0: 0 1 HWQ 1: 2 3

[PATCH v2 02/12] blk-mq: Add blk_mq_unique_tag()

2014-10-07 Thread Bart Van Assche
The queuecommand() callback functions in SCSI low-level drivers need to know which hardware context has been selected by the block layer. Since this information is not available in the request structure, and since passing the hctx pointer directly to the queuecommand callback function would

[PATCH v2 03/12] scsi-mq: Add support for multiple hardware queues

2014-10-07 Thread Bart Van Assche
Allow a SCSI LLD to declare how many hardware queues it supports by setting Scsi_Host.nr_hw_queues before calling scsi_add_host(). Note: it is assumed that each hardware queue has a queue depth of shost-can_queue. In other words, the total queue depth per host is (number of hardware queues) *

[PATCH v2 04/12] scsi_tcq.h: Add support for multiple hardware queues

2014-10-07 Thread Bart Van Assche
Modify scsi_find_tag() and scsi_host_find_tag() such that these fuctions can translate a tag generated by blk_mq_unique_tag(). Signed-off-by: Bart Van Assche bvanass...@acm.org Cc: Christoph Hellwig h...@lst.de Cc: Sagi Grimberg sa...@mellanox.com --- include/scsi/scsi_tcq.h | 19

[PATCH v2 05/12] IB/srp: Move ib_destroy_cm_id() call into srp_free_ch_ib()

2014-10-07 Thread Bart Van Assche
The patch that adds multichannel support into the SRP initiator driver introduces an additional call to srp_free_ch_ib(). This patch helps to keep that later patch simple. Signed-off-by: Bart Van Assche bvanass...@acm.org Reviewed-by: Sagi Grimberg sa...@mellanox.com Cc: Sebastian Parschauer

[PATCH v2 06/12] IB/srp: Remove stale connection retry mechanism

2014-10-07 Thread Bart Van Assche
Attempting to connect three times may be insufficient after an initiator system tries to relogin, especially if the relogin attempt occurs before the SRP target service ID has been registered. Since the srp_daemon retries a failed login attempt anyway, remove the stale connection retry mechanism.

[PATCH v2 08/12] IB/srp: Introduce two new srp_target_port member variables

2014-10-07 Thread Bart Van Assche
Introduce the srp_target_port member variables 'sgid' and 'pkey'. Change the type of 'orig_dgid' from __be16[8] into union ib_gid. This patch does not change any functionality but makes the Separate target and channel variables patch easier to verify. Signed-off-by: Bart Van Assche

[PATCH v2 07/12] IB/srp: Avoid that I/O hangs due to a cable pull during LUN scanning

2014-10-07 Thread Bart Van Assche
If a cable is pulled during LUN scanning it can happen that the SRP rport and the SCSI host have been created but no LUNs have been added to the SCSI host. Since multipathd only sends SCSI commands to a SCSI target if one or more SCSI devices are present and since there is no keepalive mechanism

[PATCH v2 09/12] IB/srp: Separate target and channel variables

2014-10-07 Thread Bart Van Assche
Changes in this patch: - Move channel variables into a new structure (struct srp_rdma_ch). - Add an srp_target_port pointer, 'lock' and 'comp_vector' members in struct srp_rdma_ch. - Add code to initialize these three new member variables. - Many boring target- into ch- changes. - The cm_id and

[PATCH v2 10/12] IB/srp: Use block layer tags

2014-10-07 Thread Bart Van Assche
Since the block layer already contains functionality to assign a tag to each request, use that functionality instead of reimplementing that functionality in the SRP initiator driver. Signed-off-by: Bart Van Assche bvanass...@acm.org Cc: Sagi Grimberg sa...@mellanox.com Cc: Sebastian Parschauer

[PATCH v2 11/12] IB/srp: Eliminate free_reqs list

2014-10-07 Thread Bart Van Assche
The free_reqs list is no longer needed now that we are using tags assigned by the block layer. Hence remove it. Signed-off-by: Bart Van Assche bvanass...@acm.org Cc: Sagi Grimberg sa...@mellanox.com Cc: Sebastian Parschauer sebastian.rie...@profitbricks.com ---

[PATCH v2 12/12] IB/srp: Add multichannel support

2014-10-07 Thread Bart Van Assche
Improve performance by using multiple RDMA/RC channels per SCSI host for communication with an SRP target. About the implementation: - Introduce a loop over all channels in the code that uses target-ch. - Set the SRP_MULTICHAN_MULTI flag during login for the creation of the second and

Re: [PATCH v2 01/12] blk-mq: Use all available hardware queues

2014-10-07 Thread Jens Axboe
On 10/07/2014 07:02 AM, Bart Van Assche wrote: Suppose that a system has two CPU sockets, three cores per socket, that it does not support hyperthreading and that four hardware queues are provided by a block driver. With the current algorithm this will lead to the following assignment of CPU

[PATCH RFC 0/2] Indirect Fast Memory registration support

2014-10-07 Thread Sagi Grimberg
This patch set introduces support for registering a scattered memory area in an indirect manner. Current supported fast registration support has a known limitation where the memory must be page aligned, meaning memory scatters must be in chunks of page size except the first which may be in some

[PATCH RFC 1/2] IB/core: Introduce Fast Indirect Memory Registration verbs API

2014-10-07 Thread Sagi Grimberg
In order to support that we provide the user with an interface to pass a scattered list of buffers to the IB core layer called ib_indir_reg_list and provide the a new send work request opcode called IB_WR_REG_INDIR_MR. We extend wr union with a new type of memory registration called indir_reg

[PATCH RFC 2/2] IB/mlx5: Implement Fast Indirect Memory Registration Feature

2014-10-07 Thread Sagi Grimberg
This patch implements: - ib_alloc/free_indir_reg_list() routines - ib_create_mr() extension for IB_MR_INDIRECT_REG - ib_post_send() extension for IB_WR_REG_INDIR_MR and work completion of IB_WC_REG_INDIR_MR - Expose mlx5 indirect registration device capabilities * Nit change in mr_align()

RE: [PATCH for-next 9/9] Samples: Peer memory client example

2014-10-07 Thread Davis, Arlin R
-Original Message- From: linux-rdma-ow...@vger.kernel.org [mailto:linux-rdma- ow...@vger.kernel.org] On Behalf Of Hefty, Sean Sent: Wednesday, October 01, 2014 10:16 AM To: Yishai Hadas; rol...@kernel.org Cc: linux-rdma@vger.kernel.org; rain...@mellanox.com Subject: RE: [PATCH

RE: [PATCH for-next 9/9] Samples: Peer memory client example

2014-10-07 Thread Hefty, Sean
Adds an example of a peer memory client which implements the peer memory API as defined under include/rdma/peer_mem.h. It uses the HOST memory functionality to implement the APIs and can be a good reference for peer memory client writers. Is there a real user of these changes?

Re: [PATCH RFC 1/2] IB/core: Introduce Fast Indirect Memory Registration verbs API

2014-10-07 Thread Steve Wise
On 10/7/2014 9:48 AM, Sagi Grimberg wrote: In order to support that we provide the user with an interface to pass a scattered list of buffers to the IB core layer called ib_indir_reg_list and provide the a new send work request opcode called IB_WR_REG_INDIR_MR. We extend wr union with a new type

[PATCH 1/1] IB/iser: Remove hard coded values for cqe and send_wr

2014-10-07 Thread Jay Kallickal
From: Jayamohan Kallickal jayamoh...@gmail.com This patch allows the underlying hardware to choose values other than hard coded max values for cqe and send_wr while preventing them from exceeding max supported values. Signed-off-by: Minh Tran minhduc.t...@emulex.com Signed-off-by:

Re: [PATCH RFC 1/2] IB/core: Introduce Fast Indirect Memory Registration verbs API

2014-10-07 Thread Sagi Grimberg
On 10/7/2014 9:12 PM, Steve Wise wrote: On 10/7/2014 9:48 AM, Sagi Grimberg wrote: In order to support that we provide the user with an interface to pass a scattered list of buffers to the IB core layer called ib_indir_reg_list and provide the a new send work request opcode called

Re: [PATCH 1/1] IB/iser: Remove hard coded values for cqe and send_wr

2014-10-07 Thread Sagi Grimberg
On 10/8/2014 3:41 AM, Jay Kallickal wrote: From: Jayamohan Kallickal jayamoh...@gmail.com This patch allows the underlying hardware to choose values other than hard coded max values for cqe and send_wr while preventing them from exceeding max supported values. Hi Minh and Jayamohan,