that has been tested is 0xd2003fff.
Checked the following structure sizes with gdb:
* sizeof(struct srp_cmd) = 48
* sizeof(struct srp_tsk_mgmt) = 48
* sizeof(struct srp_aer_req) = 36
The ibmvscsi changes have been compile tested only on a PPC system.
Signed-off-by: Bart Van Assche
Hello Yann,
On 02/10/15 11:13, Yann Droneaud wrote:
Le lundi 02 février 2015 à 18:21 +0100, Bart Van Assche a écrit :
The largest LUN number that has been tested is 0xd2003fff.
Checked the following structure sizes with gdb:
* sizeof(struct srp_cmd) = 48
* sizeof(struct srp_tsk_mgmt
We have been asked to use our company e-mail address for open
source contributions. Hence this change from a personal e-mail
address into a company e-mail address.
Signed-off-by: Bart Van Assche bart.vanass...@sandisk.com
Cc: Bart Van Assche bvanass...@acm.org
---
MAINTAINERS | 2 +-
1 file
On 02/05/15 13:26, SF Markus Elfring wrote:
From: Markus Elfring elfr...@users.sourceforge.net
Date: Thu, 5 Feb 2015 13:20:42 +0100
The srp_destroy_fr_pool() function tests whether its argument is NULL and then
returns immediately. Thus the test around the call is not needed.
This issue
-by: Bart Van Assche bart.vanass...@sandisk.com
Cc: Sagi Grimberg sa...@mellanox.com
Cc: Sebastian Parschauer sebastian.rie...@profitbricks.com
Cc: Brian King brk...@linux.vnet.ibm.com
Cc: Nathan Fontenot nf...@linux.vnet.ibm.com
Cc: Tyrel Datwyler tyr...@linux.vnet.ibm.com
---
drivers/infiniband
On 01/30/15 03:06, Mike Christie wrote:
I think I figured this out. I think we want to change the
scsi_prep_state_check check instead of each driver/class.
It looks like for the SDEV_QUIESCE state we want to allow REQ_PREEMPT
commands. James would know best, but I think SPI needs that
+0x16/0x1b
[7f611c9d9300] 0x7f611c9d92ff
Reported-by: Max Gurtuvoy m...@mellanox.com
Signed-off-by: Bart Van Assche bart.vanass...@sandisk.com
Cc: Sagi Grimberg sa...@mellanox.com
Cc: sta...@vger.kernel.org
---
drivers/infiniband/ulp/srp/ib_srp.c | 7 ++-
1 file changed, 6 insertions(+), 1
On 01/16/15 12:20, Nicholas Mc Guire wrote:
Signed-off-by: Nicholas Mc Guire der.h...@hofr.at
---
Patch is against 3.19.0-rc3 -next-20150109
Patch was compiletested only with x86_64_defconfig +
CONFIG_TARGET_CORE=m, CONFIG_INFINIBAND=m, CONFIG_INFINIBAND_SRPT=m
On 12/24/14 11:19, Vasiliy Tolstov wrote:
2014-12-24 12:03 GMT+03:00 Hiroyuki Sato hiroys...@gmail.com:
Hello Vasilly Tolstov
This URL might be help.
http://www.rdmamojo.com
There are RDMA configuration for many OSs. (RHEL, Ubuntu, SLES..)
Thanks, but.. i'm using source based disto that
On 12/04/14 17:47, Shirley Ma wrote:
What's the history of this patch?
http://lists.openfabrics.org/pipermail/general/2008-May/050813.html
I am working on multiple QPs workload. And I created a similar approach
with IB_CQ_VECTOR_LEAST_ATTACHED, which can bring up about 17% small I/O
debugged.
In addition, a number of these printk's were not newline
terminated, so fix that at the same time.
Signed-off-by: Doug Ledford dledf...@redhat.com
The second hunk of this patch does not apply on kernel v3.18-rc6.
Anyway, if you want you can add:
Reviewed-by: Bart Van Assche bvanass
On 11/22/14 15:39, Julia Lawall wrote:
Return a negative error code on failure.
Reviewed-by: Bart Van Assche bvanass...@acm.org
--
To unsubscribe from this list: send the line unsubscribe linux-rdma in
the body of a message to majord...@vger.kernel.org
More majordomo info at http
On 11/12/14 11:45, Christoph Hellwig wrote:
FYI, I've updated this to use .use_blk_tags = 1 isntead of
scsi_activate_tcq now that I've rebased the drivers-for-3.19 branch
over the tcq rework. Please verify that it's workign as intented.
[ just arrived home from traveling ]
Hello Christoph,
Fengguang fengguang...@intel.com
Signed-off-by: Bart Van Assche bvanass...@acm.org
Cc: Sagi Grimberg sa...@mellanox.com
Cc: Sebastian Parschauer sebastian.rie...@profitbricks.com
---
drivers/infiniband/ulp/srp/ib_srp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers
On 11/05/14 19:54, Christoph Hellwig wrote:
On Wed, Nov 05, 2014 at 01:37:14PM +0100, Bart Van Assche wrote:
That's strange. I have compared the patches that are already in your tree
with the patches I had posted myself with a diff tool. These patches look
identical to what I had posted except
On 11/04/14 15:14, Christoph Hellwig wrote:
I've applied patches 1-3 to the core-for-3.19 branch. Various srp
patches, including the first one fail to apply for me. Can you
regenerate them against the drivers-for-3.19 branch? Thanks!
Hello Christoph,
That's strange. I have compared the
On 11/03/14 02:46, Elliott, Robert (Server Storage) wrote:
-Original Message-
From: Sagi Grimberg [mailto:sa...@dev.mellanox.co.il]
Sent: Sunday, November 02, 2014 7:03 AM
To: Bart Van Assche; Christoph Hellwig
Cc: Jens Axboe; Sagi Grimberg; Sebastian Parschauer; Elliott, Robert
(Server
Ira,
Sorry that I hadn't noticed this before but I think the above code can
be simplified into format_specifier = !!strstr(node_desc, %h). With
or without that change, if you want you can add:
Reviewed-by: Bart Van Assche bvanass...@acm.org
--
To unsubscribe from this list: send the line
On 10/31/14 00:54, ira.we...@intel.com wrote:
+int set_rdma_device_names(const char *hostname)
+{
+ DIR *class_dir;
+ struct dirent *dent;
+
+ class_dir = opendir(SYS_INFINIBAND);
+ if (!class_dir) {
+ syslog(LOG_INFO, Failed to open %s, SYS_INFINIBAND);
+
On 10/30/14 18:33, Sagi Grimberg wrote:
Now I realize that we can hit serious problems here since we never
solved the issue of srp polling routine that might poll forever within
an interrupt (or at least until a hard lockup). Its interesting that
you weren't able to hit that with a high
On 10/31/14 10:24, Weiny, Ira wrote:
On 10/31/14 00:54, ira.we...@intel.com wrote:
+int read_and_set_hostname(int fd)
+{
+int rc;
+char buf[128];
+if (read(fd, buf, 65) = 0) {
+buf[65] = '\0';
+newline_to_null(buf);
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
require modification of
all SCSI LLDs, add a function to the block layer that allows to
query the hardware context index.
Signed-off-by: Bart Van Assche bvanass...@acm.org
Acked-by: Jens Axboe ax...@kernel.dk
Reviewed-by: Sagi Grimberg sa...@mellanox.com
Reviewed-by: Martin K. Petersen martin.peter
Allow a SCSI LLD to declare how many hardware queues it supports
by setting Scsi_Host.nr_hw_queues before calling scsi_add_host().
Signed-off-by: Bart Van Assche bvanass...@acm.org
Reviewed-by: Sagi Grimberg sa...@mellanox.com
Reviewed-by: Martin K. Petersen martin.peter...@oracle.com
Modify scsi_find_tag() and scsi_host_find_tag() such that these
functions can translate a tag generated by blk_mq_unique_tag().
Signed-off-by: Bart Van Assche bvanass...@acm.org
Reviewed-by: Martin K. Petersen martin.peter...@oracle.com
Cc: Christoph Hellwig h...@lst.de
Cc: Sagi Grimberg sa
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
.
Signed-off-by: Bart Van Assche bvanass...@acm.org
Reviewed-by: Sagi Grimberg sa...@mellanox.com
Cc: Sebastian Parschauer sebastian.rie...@profitbricks.com
---
drivers/infiniband/ulp/srp/ib_srp.c | 16 +++-
1 file changed, 3 insertions(+), 13 deletions(-)
diff --git a/drivers
the above behavior has only been observed with the
kernel module parameter ch_count set to a value = 2.
Signed-off-by: Bart Van Assche bvanass...@acm.org
Cc: Sagi Grimberg sa...@mellanox.com
Cc: Sebastian Parschauer sebastian.rie...@profitbricks.com
---
drivers/infiniband/ulp/srp/ib_srp.c | 60
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 bvanass
because these are superfluous. Since considerable time u64 is
defined as unsigned long long for all architectures supported by
the Linux kernel.
Signed-off-by: Bart Van Assche bvanass...@acm.org
Acked-by: Sagi Grimberg sa...@mellanox.com
Cc: Sebastian Parschauer sebastian.rie...@profitbricks.com
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.
This change makes the free_reqs list superfluous. Hence remove
that list.
Signed-off-by: Bart Van Assche bvanass
a ch_count sysfs attribute per target port.
Signed-off-by: Bart Van Assche bvanass...@acm.org
Cc: Sagi Grimberg sa...@mellanox.com
Cc: Sebastian Parschauer sebastian.rie...@profitbricks.com
---
Documentation/ABI/stable/sysfs-driver-ib_srp | 25 ++-
drivers/infiniband/ulp/srp/ib_srp.c
until all receive completions
have been processed before destroying a QP.
Reported-by: Max Gurtuvoy m...@mellanox.com
Signed-off-by: Bart Van Assche bvanass...@acm.org
Reviewed-by: Sagi Grimberg sa...@mellanox.com
---
drivers/infiniband/ulp/srp/ib_srp.c | 59
On 10/30/14 15:19, Sagi Grimberg wrote:
My impression here that in the default settings, on a 1 NUMA node with
8 cores, 2 different srp connections (using 4 channels each) will be
associated with comp vectors 0-3. while it could potentially use
vectors 4-7 and reduce possible mutual
On 10/30/14 15:26, Sagi Grimberg wrote:
On 10/30/2014 3:50 PM, Bart Van Assche wrote:
+/* Destroying a QP and reusing ch-done is only safe if not
connected */
+WARN_ON_ONCE(target-connected);
I thought we agreed that cannot happen. I guess I don't mind keeping
it... BTW, were you able
On 10/30/14 16:06, Sagi Grimberg wrote:
I'm not aware of any implicit interrupt coalescing effect...
In case it was not clear what I was referring to: if multiple completion
queue handling routines run on the same CPU then the average number of
work completions processed by each completion
On 10/28/14 19:32, Sagi Grimberg wrote:
On 10/21/2014 12:10 PM, Sagi Grimberg wrote:
On 10/20/2014 3:56 PM, Bart Van Assche wrote:
On 10/19/14 19:36, Sagi Grimberg wrote:
On 10/7/2014 4:07 PM, Bart Van Assche wrote:
* comp_vector, a number in the range 0..n-1 specifying
On 10/28/14 03:01, Martin K. Petersen wrote:
Bart == Bart Van Assche bvanass...@acm.org writes:
Bart Allow a SCSI LLD to declare how many hardware queues it supports
Bart by setting Scsi_Host.nr_hw_queues before calling scsi_add_host().
Bart Note: it is assumed that each hardware queue has
On 10/29/14 13:22, Bart Van Assche wrote:
Regarding nr_hw_queues and the SCSI host template: setting that
parameter in the host template is supported.
(replying to my own e-mail)
Let me correct this: setting nr_hw_queues in the host template is not
yet supported. If anyone would consider
On 10/21/14 11:14, Sagi Grimberg wrote:
On 10/7/2014 4:07 PM, Bart Van Assche wrote:
spin_lock_irqsave(ch-lock, flags);
ch-req_lim += be32_to_cpu(rsp-req_lim_delta);
@@ -1906,7 +1970,7 @@ static int srp_queuecommand(struct Scsi_Host
*shost, struct scsi_cmnd *scmnd
On 10/23/14 09:43, Eli Cohen wrote:
On Tue, Oct 21, 2014 at 12:13:22AM +0300, Or Gerlitz wrote:
On Mon, Oct 20, 2014 at 6:29 PM, Chris Moore chris.mo...@emulex.com wrote:
The following code is in isert_conn_setup_qp() in ib_isert.c:
/*
* FIXME: Use devattr.max_sge - 2
On 10/23/14 19:43, Webb Scales wrote:
On 10/23/14 3:16 AM, Bart Van Assche wrote:
All my tests with use_blk_mq=n were run with a WARN_ON_ONCE(req-tag
0) statement present in srp_queuecommand(). I haven't seen any kernel
warning being triggered during the tests I ran.
Bart, what's the data
On 10/23/14 00:03, Elliott, Robert (Server Storage) wrote:
-Original Message-
From: Bart Van Assche [mailto:bvanass...@acm.org]
Sent: Tuesday, 07 October, 2014 8:07 AM
...
@@ -1927,7 +1931,7 @@ static int srp_queuecommand(struct Scsi_Host
*shost, struct scsi_cmnd *scmnd)
cmd
On 10/21/14 11:32, Sagi Grimberg wrote:
Since you didn't give any comments on the API itself should I conclude
that you find it clear and you agree with it?
Mostly. The only aspect of which I think that it is missing in the API
is the alignment requirement for the addresses in
On 10/19/14 21:34, Sagi Grimberg wrote:
On 10/14/2014 8:41 AM, Bart Van Assche wrote:
+struct ib_indir_reg_list *
+mlx5_ib_alloc_indir_reg_list(struct ib_device *device,
+ unsigned int max_indir_list_len)
There are three k[zc]alloc() calls in this function. Can
On 10/17/14 12:58, Christoph Hellwig wrote:
diff --git a/drivers/infiniband/ulp/srp/ib_srp.c
b/drivers/infiniband/ulp/srp/ib_srp.c
index cc0bf83b..224ef25 100644
--- a/drivers/infiniband/ulp/srp/ib_srp.c
+++ b/drivers/infiniband/ulp/srp/ib_srp.c
@@ -853,7 +853,6 @@ static int
On 10/17/14 12:59, Christoph Hellwig wrote:
On Tue, Oct 07, 2014 at 03:06:54PM +0200, Bart Van Assche wrote:
The free_reqs list is no longer needed now that we are using
tags assigned by the block layer. Hence remove it.
Is there any good reason not to fold this into the previous patch
On 10/17/14 13:06, Christoph Hellwig wrote:
} else {
+ if (blk_mq_unique_tag_to_hwq(rsp-tag) != ch - target-ch)
+ pr_err(Channel idx mismatch: tag %#llx ch %#lx\n,
+ rsp-tag, ch - target-ch);
scmnd =
On 10/19/14 18:12, Sagi Grimberg wrote:
On 10/7/2014 4:04 PM, Bart Van Assche wrote:
-req = blk_queue_find_tag(sdev-request_queue, tag);
+req = blk_queue_find_tag(sdev-request_queue, tag);
Why is this line different?
This is because the indentation has been modified from
On 10/19/14 18:27, Sagi Grimberg wrote:
On 10/7/2014 4:05 PM, Bart Van Assche wrote:
+static int srp_sdev_count(struct Scsi_Host *host)
+{
+struct scsi_device *sdev;
+int c = 0;
+
+shost_for_each_device(sdev, host)
+c++;
+
+return c;
+}
+
Is this really an SRP specific
On 10/19/14 19:36, Sagi Grimberg wrote:
On 10/7/2014 4:07 PM, Bart Van Assche wrote:
* comp_vector, a number in the range 0..n-1 specifying the
- MSI-X completion vector. Some HCA's allocate multiple (n)
- MSI-X vectors per HCA port. If the IRQ affinity masks
into the
add_target sysfs attribute that failed because of a newline not being
accepted as a separator. This patch will avoid such confusion so I think
it's an improvement. Hence,
Acked-by: Bart Van Assche bvanass...@acm.org
Roland, can you queue this patch for kernel 3.19 ?
Thanks,
Bart
On 10/12/14 21:43, Or Gerlitz wrote:
Sean, Bart - any comment on the API before Sagi sits down to code the
iSER changes?
Hello Or,
Will this API ever be supported by other Mellanox RDMA drivers than
mlx5, e.g. mlx4 ? Will this API ever be supported by a Mellanox HCA that
supports RoCE ?
On 10/13/14 10:17, Sagi Grimberg wrote:
On 10/7/2014 3:51 PM, Bart Van Assche wrote:
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
On 10/11/14 13:08, Christoph Hellwig wrote:
+static inline u32 blk_mq_build_unique_tag(int hwq, int tag)
+{
+ return (hwq BLK_MQ_UNIQUE_TAG_BITS) | (tag BLK_MQ_UNIQUE_TAG_MASK);
+}
Is there any value in having this as a separate helper?
Hello Christoph,
With the approach for block
On 10/11/14 13:11, Christoph Hellwig wrote:
On Wed, Oct 08, 2014 at 03:21:56PM +0200, Bart Van Assche wrote:
On 10/07/14 16:37, Jens Axboe wrote:
Lets do this separate, as explained last time, it needs to be evaluated
on its own and doesn't really belong in this series of patches.
Hello Jens
On 10/12/14 14:03, Shachar Raindel wrote:
The kernel-doc output for the above comment block is incomplete. Please
fix this, and please also fix the warnings reported by the kernel-doc
We are not sure what is the best way to document an operations struct
using nanodocs.
Looking at
On 10/07/14 16:48, 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 of
On 10/07/14 16:48, Sagi Grimberg wrote:
-static __be64 *mr_align(__be64 *ptr, int align)
+static void *mr_align(void *ptr, int align)
{
unsigned long mask = align - 1;
- return (__be64 *)(((unsigned long)ptr + mask) ~mask);
+ return (void *)(((unsigned long)ptr + mask)
On 10/07/14 16:37, Jens Axboe wrote:
Lets do this separate, as explained last time, it needs to be evaluated
on its own and doesn't really belong in this series of patches.
Hello Jens,
A few minutes ago I have resent this patch to you with the LKML in CC. I
hope that Christoph agrees with
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
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
.
Signed-off-by: Bart Van Assche bvanass...@acm.org
Reviewed-by: Sagi Grimberg sa...@mellanox.com
Cc: Jens Axboe ax...@fb.com
Cc: Christoph Hellwig h...@lst.de
Cc: Ming Lei ming@canonical.com
---
block/blk-mq-cpumap.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/block/blk
require modification of
all SCSI LLDs, add a function to the block layer that allows to
query the hardware context index.
Signed-off-by: Bart Van Assche bvanass...@acm.org
Acked-by: Jens Axboe ax...@kernel.dk
Cc: Christoph Hellwig h...@lst.de
Cc: Ming Lei ming@canonical.com
Cc: Sagi Grimberg sa
) * (shost-can_queue).
Signed-off-by: Bart Van Assche bvanass...@acm.org
Cc: Christoph Hellwig h...@lst.de
Cc: Sagi Grimberg sa...@mellanox.com
---
drivers/scsi/scsi_lib.c | 2 +-
include/scsi/scsi_host.h | 4
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/scsi/scsi_lib.c b
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
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
.
Signed-off-by: Bart Van Assche bvanass...@acm.org
Reviewed-by: Sagi Grimberg sa...@mellanox.com
Cc: Sebastian Parschauer sebastian.rie...@profitbricks.com
---
drivers/infiniband/ulp/srp/ib_srp.c | 16 +++-
1 file changed, 3 insertions(+), 13 deletions(-)
diff --git a/drivers
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 bvanass
the above behavior has only been observed with the
kernel module parameter ch_count set to a value = 2.
Signed-off-by: Bart Van Assche bvanass...@acm.org
Cc: Sagi Grimberg sa...@mellanox.com
Cc: Sebastian Parschauer sebastian.rie...@profitbricks.com
---
drivers/infiniband/ulp/srp/ib_srp.c | 60
because these are superfluous. Since considerable time u64 is
defined as unsigned long long for all architectures supported by
the Linux kernel.
Signed-off-by: Bart Van Assche bvanass...@acm.org
Cc: Sagi Grimberg sa...@mellanox.com
Cc: Sebastian Parschauer sebastian.rie...@profitbricks.com
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
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
---
drivers/infiniband/ulp/srp
a ch_count sysfs attribute per target port.
Signed-off-by: Bart Van Assche bvanass...@acm.org
Cc: Sagi Grimberg sa...@mellanox.com
Cc: Sebastian Parschauer sebastian.rie...@profitbricks.com
---
Documentation/ABI/stable/sysfs-driver-ib_srp | 25 ++-
drivers/infiniband/ulp/srp/ib_srp.c
passing the hctx pointer directly to
the queuecommand callback function would require modification of
all SCSI LLDs, add a function to the block layer that allows to
query the hardware context index.
Signed-off-by: Bart Van Assche bvanass...@acm.org
---
block/blk-mq-tag.c | 27
On 09/20/14 19:45, Or Gerlitz wrote:
On Fri, Sep 19, 2014 at 3:58 PM, Bart Van Assche bvanass...@acm.org wrote:
Attempting to connect three times may be insufficient after an
initiator system that was using multiple RDMA channels tries to
relogin. Additionally, this login retry mechanism
On 10/01/14 18:54, Jens Axboe wrote:
Lets get rid of the blk_mq_tag struct and just have it be an u32 or
something. We could potentially typedef it, but I'd prefer to just have
it be an unsigned 32-bit int.
Probably also need some init time safety checks that 16-bits is enough
to hold
that allows to query the hardware
context index.
Signed-off-by: Bart Van Assche bvanass...@acm.org
---
block/blk-mq-tag.c | 24
include/linux/blk-mq.h | 16
2 files changed, 40 insertions(+)
diff --git a/block/blk-mq-tag.c b/block/blk-mq-tag.c
index c1b9242
On 10/01/14 17:18, Yishai Hadas wrote:
+static int num_registered_peers;
Is the only purpose of this variable to check whether or not
peer_memory_list is empty ? In that case please drop this variable and
use list_empty() instead.
+static int ib_invalidate_peer_memory(void *reg_handle,
On 26/09/2014 5:08, Ming Lei wrote:
I suggest to apply this patch and related scsi-mq multi hw-queue
enablement patches first, so that any scsi drivers capable of
multi hw-queue can go without waiting for passing hctx
patches which may take a bit long since lots of drivers are involved,
as Jens
On 23/09/2014 10:32, Sagi Grimberg wrote:
On 9/19/2014 4:00 PM, Bart Van Assche wrote:
Improve performance by using multiple RDMA/RC channels per SCSI host
for communicating with an SRP target.
Hey Bart,
Since you don't seem to negotiate/declare multichannel with the target,
did you test
On 23/09/2014 10:07, Sagi Grimberg wrote:
On 9/19/2014 3:59 PM, Bart Van Assche wrote:
@@ -3047,24 +3098,28 @@ static ssize_t srp_create_target(struct
device *dev,
INIT_WORK(target-tl_err_work, srp_tl_err_work);
INIT_WORK(target-remove_work, srp_remove_work);
spin_lock_init
Hello,
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
associated with a single
HWQ reside on the same CPU socket.
Signed-off-by: Bart Van Assche bvanass...@acm.org
Cc: Jens Axboe ax...@fb.com
Cc: Christoph Hellwig h...@lst.de
Cc: Ming Lei ming@canonical.com
---
block/blk-mq-cpumap.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git
the stale connection retry
mechanism.
Signed-off-by: Bart Van Assche bvanass...@acm.org
---
drivers/infiniband/ulp/srp/ib_srp.c | 16 +++-
1 file changed, 3 insertions(+), 13 deletions(-)
diff --git a/drivers/infiniband/ulp/srp/ib_srp.c
b/drivers/infiniband/ulp/srp/ib_srp.c
index
the above behavior has only been observed with the
kernel module parameter ch_count set to a value = 2.
Signed-off-by: Bart Van Assche bvanass...@acm.org
---
drivers/infiniband/ulp/srp/ib_srp.c | 56 +++--
drivers/infiniband/ulp/srp/ib_srp.h | 1 +
2 files changed, 48
Improve performance by using multiple RDMA/RC channels per SCSI host
for communicating with an SRP target.
Signed-off-by: Bart Van Assche bvanass...@acm.org
---
Documentation/ABI/stable/sysfs-driver-ib_srp | 25 +-
drivers/infiniband/ulp/srp/ib_srp.c | 337
Changes in this patch:
- Move channel variables into a new structure (struct srp_rdma_ch).
- cm_id and completion handler context pointer are now of type
srp_rdma_ch * insteoad of srp_target_port *.
No functionality is changed.
Signed-off-by: Bart Van Assche bvanass...@acm.org
---
drivers
On 09/19/14 15:11, Jinpu Wang wrote:
During go through SRP FMR support, I found ib_srp pre-alloc
fmr_list/map_page in each request,
fmr_list are alloced as many as target-cmd_sg_cnt
I add some debug message when run fio test with different settings.
Result show, state.ndesc and state.nmdesc is
On 09/19/14 17:27, Ming Lei wrote:
On Fri, Sep 19, 2014 at 11:21 PM, Bart Van Assche bvanass...@acm.org wrote:
On 09/19/14 16:28, Ming Lei wrote:
On Fri, Sep 19, 2014 at 9:00 PM, Bart Van Assche bvanass...@acm.org
wrote:
@@ -2643,7 +2754,8 @@ static struct scsi_host_template srp_template
On 09/11/14 14:34, Sreedhar Kodali wrote:
I have sent the revised patch v4 that groups and assigns comp vectors
per process as you suggested. Please go through it.
Shouldn't there be agreement about the approach before a patch is
reworked and reposted ? I think the following aspects deserve
On 09/06/14 05:06, Sreedhar Kodali wrote:
The provided patch only covers equal distribution of completion vectors
among the specified cores. But, it is not generic enough to cover
the scenario you have suggested. If it were to be the case, then
we need to
a) alter the configuration file
On 09/08/14 16:27, Sreedhar Kodali wrote:
Thanks for your insights. Your suggestion of having a separate
vector per process is really useful when multiple processes are
simultaneously running in the same environment. At the implementation
level this requires an extended configuration file
On 09/05/14 15:18, Sreedhar Kodali wrote:
From: Sreedhar Kodali srkod...@linux.vnet.ibm.com
Distribute interrupt vectors among multiple cores while processing
completion events. By default the existing mechanism always
defaults to core 0 for comp vector processing during the
but I don't
have access to a ConnectIB setup myself.
Thanks,
Bart.
Reported-by: Mark Lehrer leh...@gmail.com
Signed-off-by: Bart Van Assche bvanass...@acm.org
---
drivers/infiniband/ulp/srpt/ib_srpt.c | 8
1 file changed, 8 insertions(+)
diff --git a/drivers/infiniband/ulp/srpt/ib_srpt.c
On 08/26/14 18:10, Sagi Grimberg wrote:
On 8/20/2014 6:51 PM, Mark Lehrer wrote:
From what I see srp_sq_size is controlled via
configfs. Can you set it to 2048 just for the sake of
confirmation this is indeed the issue?
Now that we have confirmed that this works, what is the proper way to
Hello,
Has anyone else already tried to boot kernel 3.17-rc1 on an IB system ? The
following call trace is triggered during boot on a system on which kernel
3.16 runs fine:
BUG: unable to handle kernel paging request at 8809007e
IP: __dev_queue_xmit+0x519
Call Trace:
?
= -ENOMEM;
goto out;
}
Acked-by: Bart Van Assche bvanass...@acm.org
--
To unsubscribe from this list: send the line unsubscribe linux-rdma in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
On 08/05/14 01:31, Dan Carpenter wrote:
The patch bcc059103591: IB/srp: Fix deadlock between host removal
and multipathd from Jul 9, 2014, leads to the following static
checker warning:
drivers/infiniband/ulp/srp/ib_srp.c:3323 srp_init_module()
warn: 'srp_remove_wq' isn't an
than the
transport layer timers.
Signed-off-by: Bart Van Assche bvanass...@acm.org
Reviewed-by: Sagi Grimberg sa...@mellanox.com
Reviewed-by: David Dillow d...@thedillows.org
Cc: Sebastian Parschauer sebastian.rie...@profitbricks.com
Cc: sta...@vger.kernel.org
---
drivers/infiniband/ulp/srp
201 - 300 of 1130 matches
Mail list logo