Re: [PATCH 0/3] nvme: Don't add namespaces for locked drives

2016-06-19 Thread Sagi Grimberg
Hi all, If an NVMe drive is locked with ATA Security, most commands sent to the drive will fail. This includes commands sent by the kernel upon discovery to probe for partitions. The failing happens in such a way that trying to do anything with the drive (e.g. sending an unlock command; unloadi

Re: [rfc] weirdness in bio_map_user_iov()

2016-09-23 Thread Sagi Grimberg
Hey Al, What happens if we feed it a 3-element iovec array, one page in each? AFAICS, bio_add_pc_page() is called for each of those pages, even if the previous calls have failed - break is only out of the inner loop. Sure, failure due to exceeded request size means that everything after that on

Re: [PATCH 11/13] nvme: switch to use pci_alloc_irq_vectors

2016-09-23 Thread Sagi Grimberg
On 14/09/16 07:18, Christoph Hellwig wrote: Use the new helper to automatically select the right interrupt type, as well as to use the automatic interupt affinity assignment. Patch title and the change description are a little short IMO to describe what is going on here (need the blk-mq side

Re: [PATCH] nvme: Fix nvme_get/set_features() with a NULL result pointer

2016-08-24 Thread Sagi Grimberg
Looks fine, Reviewed-by: Sagi Grimberg

Re: [PATCH] nvme: add hostid token to fabric options

2017-06-20 Thread Sagi Grimberg
Reviewed-by: Sagi Grimberg

Re: [PATCH v2 08/15] nvmet: make config_item_type const

2017-10-17 Thread Sagi Grimberg
Acked-by: Sagi Grimberg

Re: [PATCH V3] nvme: fix multiple ctrl removal scheduling

2017-05-30 Thread Sagi Grimberg
Hi Rkesh, this looks reasonable, but we'll need to also adopt the non-PCI driver to the new state machine. I can give this a spin. At that point we probably want to move nvme_reset into common code somehow. Hi Guys, sorry for barging in late, I've been way too busy with internal stuff lately.

Re: [PATCH V2] nvme: fix nvme_remove going to uninterruptible sleep for ever

2017-05-30 Thread Sagi Grimberg
/* +* Avoid configuration and syncing commands if controller is already +* being removed and queues have been killed. +*/ + if (ctrl->state == NVME_CTRL_DELETING || ctrl->state == NVME_CTRL_DEAD) + return; + Hey Rakesh, Christoph, Given that

Re: [PATCH V2 1/1] nvme: fix multiple ctrl removal scheduling

2017-05-30 Thread Sagi Grimberg
Allowing multiple resets can result in multiple controller removal as well if different conditions inside nvme_reset_work fail and which might deadlock on device_release_driver. This patch makes sure that work queue item (reset_work) is added only if controller state != NVME_CTRL_RESETTING and

Re: [PATCH v3] nvme/pci: remap BAR0 to cover admin CQ doorbell for large stride

2017-05-30 Thread Sagi Grimberg
Looks good to me, Reviewed-by: Sagi Grimberg

Re: [PATCH] nvme: host: core: fix NULL pointer dereference in nvme_pr_command

2017-11-13 Thread Sagi Grimberg
Looks good, Reviewed-by: Sagi Grimberg

Re: [PATCH] IB/iser: fix a comment typo

2015-10-05 Thread Sagi Grimberg
On 10/4/2015 12:00 PM, Geliang Tang wrote: Just fix a typo in the code comment. Signed-off-by: Geliang Tang Acked-by: Sagi Grimberg -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo inf

Re: [PATCH] IB/core: avoid 32-bit warning

2015-10-07 Thread Sagi Grimberg
On 10/7/2015 3:29 PM, Arnd Bergmann wrote: The INIT_UDATA() macro requires a pointer or unsigned long argument for both input and output buffer, and all callers had a cast from when the code was merged until a recent restructuring, so now we get core/uverbs_cmd.c: In function 'ib_uverbs_create_c

Re: [PATCH] iscsi-target: return -ENOMEM instead of -1 in case of failed kmalloc()

2015-10-20 Thread Sagi Grimberg
Looks good, Reviewed-by: Sagi Grimberg -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

Re: [PATCH v4 1/1] nvme: trace: add disk name to tracepoints

2018-06-25 Thread Sagi Grimberg
On 06/25/2018 10:08 AM, Johannes Thumshirn wrote: On Tue, Jun 19, 2018 at 05:09:27PM +0300, Sagi Grimberg wrote: We are going to need it for traffic based keep alive to update that we saw a completion to extend the kato. But I suggest you simply keep a ctrl reference in struct nvme_request

Re: [PATCH v5 1/2] nvme: add tracepoint for nvme_setup_cmd

2018-01-23 Thread Sagi Grimberg
Looks good Johannes, Reviewed-by: Sagi Grimberg

Re: [PATCH v5 2/2] nvme: add tracepoint for nvme_complete_rq

2018-01-23 Thread Sagi Grimberg
Reviewed-by: Sagi Grimberg

Re: [PATCH RESENT] nvme-pci: introduce RECONNECTING state to mark initializing procedure

2018-01-23 Thread Sagi Grimberg
This looks fine to me, but we need Keith to ack on this.

Re: [RFC] NVMe Configuraiton using sysctl

2017-05-15 Thread Sagi Grimberg
Hi, Hi Oza, we are configuring interrupt coalesce for NVMe, but right now, it uses module param. so the same interrupt coalesce settings get applied for all the NVMEs connected to different RCs. ideally it should be with sysctl. If at all, I would place this in nvme-cli (via ioctl) instea

Re: [PATCH] nvme-pci: use NOWAIT flag for nvme_set_host_mem

2018-01-29 Thread Sagi Grimberg
Hey Keith, Thanks for the fix. It looks like we still have a problem, though. Commands submitted with the "shutdown_lock" held need to be able to make forward progress without relying on a completion, but this one could block indefinitely. Can you explain to me why is the shutdown_lock needed

Re: [Suspected-Phishing]Re: [PATCH V3 1/2] nvme: split resetting state into reset_prepate and resetting

2018-01-17 Thread Sagi Grimberg
After Sagi's nvme-rdma: fix concurrent reset and reconnect, the rdma ctrl state is changed to RECONNECTING state after some clearing and shutdown work, then some initializing procedure, no matter reset work path or error recovery path. The fc reset work also does the same thing. So if we defi

Re: [Suspected-Phishing]Re: [PATCH V3 1/2] nvme: split resetting state into reset_prepate and resetting

2018-01-17 Thread Sagi Grimberg
see V4 discussion.. :) I didn't see any v4

Re: [PATCH] nvme-pci: calculate iod and avg_seg_size just before use them

2018-01-14 Thread Sagi Grimberg
. I think that if its not coming for 4.16, it should be easy enough to take it in. FWIW, Reviewed-by: Sagi Grimberg

Re: [PATCH V3 1/2] nvme: split resetting state into reset_prepate and resetting

2018-01-14 Thread Sagi Grimberg
Currently, the ctrl->state will be changed to NVME_CTRL_RESETTING before queue the reset work. This is not so strict. There could be a big gap before the reset_work callback is invoked. In addition, there is some disable work in the reset_work callback, strictly speaking, not part of reset work,

Re: [PATCH V3 2/2] nvme-pci: fix the timeout case when reset is ongoing

2018-01-14 Thread Sagi Grimberg
diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c index e477c35..0530432 100644 --- a/drivers/nvme/host/pci.c +++ b/drivers/nvme/host/pci.c @@ -1212,19 +1212,26 @@ static enum blk_eh_timer_return nvme_timeout(struct request *req, bool reserved) } /* -* Shutdown

Re: [PATCH] drviers/nvme/target: fix max dup length for kstrndup

2018-01-14 Thread Sagi Grimberg
Looks good, Reviewed-by: Sagi Grimberg

Re: [PATCH v2 07/10] nvme-pci: Use PCI p2pmem subsystem to manage the CMB

2018-03-05 Thread Sagi Grimberg
- if (nvmeq->sq_cmds_io) - memcpy_toio(&nvmeq->sq_cmds_io[tail], cmd, sizeof(*cmd)); - else - memcpy(&nvmeq->sq_cmds[tail], cmd, sizeof(*cmd)); + memcpy(&nvmeq->sq_cmds[tail], cmd, sizeof(*cmd)); Hmm, how safe is replacing memcpy_toio() with regula

Re: [PATCH V4 2/5] nvme: add helper interface to flush in-flight requests

2018-03-08 Thread Sagi Grimberg
On 03/08/2018 08:19 AM, Jianchao Wang wrote: Currently, we use nvme_cancel_request to complete the request forcedly. This has following defects: - It is not safe to race with the normal completion path. blk_mq_complete_request is ok to race with timeout path, but not with itself. -

Re: [PATCH V10 09/19] block: introduce bio_bvecs()

2018-11-20 Thread Sagi Grimberg
Not sure I understand the 'blocking' problem in this case. We can build a bvec table from this req, and send them all in send(), I would like to avoid growing bvec tables and keep everything preallocated. Plus, a bvec_iter operates on a bvec which means we'll need a table there as well... No

Re: [PATCH] nvme-rdma: complete requests from ->timeout

2018-11-29 Thread Sagi Grimberg
This does not hold at least for NVMe RDMA host driver. An example scenario is when the RDMA connection is gone while the controller is being deleted. In this case, the nvmf_reg_write32() for sending shutdown admin command by the delete_work could be hung forever if the command is not completed

Re: [PATCH] nvme-rdma: complete requests from ->timeout

2018-12-07 Thread Sagi Grimberg
Could you please take a look at this bug and code review? We are seeing more instances of this bug and found that reconnect_work could hang as well, as can be seen from below stacktrace. Workqueue: nvme-wq nvme_rdma_reconnect_ctrl_work [nvme_rdma] Call Trace: __schedule+0x2ab/0x880 sc

[PATCH v5 10/13] nvme-tcp: Add protocol header

2018-12-03 Thread Sagi Grimberg
From: Sagi Grimberg Signed-off-by: Sagi Grimberg --- include/linux/nvme-tcp.h | 189 +++ include/linux/nvme.h | 1 + 2 files changed, 190 insertions(+) create mode 100644 include/linux/nvme-tcp.h diff --git a/include/linux/nvme-tcp.h b/include/linux

[PATCH v5 03/13] iov_iter: pass void csum pointer to csum_and_copy_to_iter

2018-12-03 Thread Sagi Grimberg
From: Sagi Grimberg The single caller to csum_and_copy_to_iter is skb_copy_and_csum_datagram and we are trying to unite its logic with skb_copy_datagram_iter by passing a callback to the copy function that we want to apply. Thus, we need to make the checksum pointer private to the function

[PATCH v5 02/13] datagram: open-code copy_page_to_iter

2018-12-03 Thread Sagi Grimberg
From: Sagi Grimberg This will be useful to consolidate skb_copy_and_hash_datagram_iter and skb_copy_and_csum_datagram to a single code path. Acked-by: David S. Miller Signed-off-by: Sagi Grimberg --- net/core/datagram.c | 9 ++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff

Re: [PATCH v4 1/1] nvme: trace: add disk name to tracepoints

2018-06-26 Thread Sagi Grimberg
Looks good (both #1 if we want to use the two patch version or #2). I have no idea what I did when I was trying to do when I tried it. You want to submit or should I?

Re: [PATCH v4 1/1] nvme: trace: add disk name to tracepoints

2018-06-26 Thread Sagi Grimberg
You want to submit or should I? Whatever is easier for you You're the owner, you should go ahead with it. Thanks!

Re: [PATCH] nvme: trace: add disk name to tracepoints

2018-06-27 Thread Sagi Grimberg
Not related to your patch, but I did notice that the req->q->id isn't really useful here since that's not the hardware context identifier. That's just some ida assigned software identifier. For the admin command completion trace, it's actually a little confusing to see the qid in the trace. I

Re: [PATCH v4 1/2] nvme: cache struct nvme_ctrl reference to struct nvme_request

2018-06-27 Thread Sagi Grimberg
.. Johannes, can you respin with this version? Please CC james and keith on it too. -- nvme: cache struct nvme_ctrl reference to struct nvme_request We will need to reference the controller in the setup and completion time for tracing and future traffic based keep alive support.

Re: [PATCH] nvme: trace: add disk name to tracepoints

2018-06-28 Thread Sagi Grimberg
Thinking more on this, not using the hw qid really limits the utility out of using these trace events: We may not be able to match a completion to the submission without it since cmdid alone isn't enough to match up the two events. Here's an updated proposal and actually tested. I was also abl

Re: [PATCH v4 1/1] nvme: trace: add disk name to tracepoints

2018-06-19 Thread Sagi Grimberg
On 06/11/2018 09:46 PM, Johannes Thumshirn wrote: Add disk name to tracepoints so we can better distinguish between individual disks in the trace output. Signed-off-by: Johannes Thumshirn --- I'm not entirely sure if this adding the ctrl pointers to nvme_complete_rq() and nvme_setup_cmd()

Re: [PATCH 0/3] Provide more fine grained control over multipathing

2018-05-30 Thread Sagi Grimberg
Hi Folks, I'm sorry to chime in super late on this, but a lot has been going on for me lately which got me off the grid. So I'll try to provide my input hopefully without starting any more flames.. This patch series aims to provide a more fine grained control over nvme's native multipathing, b

Re: [PATCH] nvme: trace: add disk name to tracepoints

2018-05-30 Thread Sagi Grimberg
Add disk name to tracepoints so we can better destinguish between individual disks in the trace output. Looks useful, Reviewed-by: Sagi Grimberg

Re: [PATCH -next] nvmet: fix a typo in nvmet_file_ns_enable()

2018-05-30 Thread Sagi Grimberg
Reviewed-by: Sagi Grimberg

Re: [PATCH 1/3] nvme: provide a way to disable nvme mpath per subsystem

2018-05-31 Thread Sagi Grimberg
@@ -246,3 +246,27 @@ void nvme_mpath_remove_disk(struct nvme_ns_head *head) blk_cleanup_queue(head->disk->queue); put_disk(head->disk); } + +int nvme_mpath_change_personality(struct nvme_subsystem *subsys) +{ + struct nvme_ctrl *ctrl; + int ret = 0; + +restart: +

Re: [PATCH 0/3] Provide more fine grained control over multipathing

2018-05-31 Thread Sagi Grimberg
Wouldn't expect you guys to nurture this 'mpath_personality' knob. SO when features like "dispersed namespaces" land a negative check would need to be added in the code to prevent switching from "native". And once something like "dispersed namespaces" lands we'd then have to see about a more

Re: [PATCH 0/3] Provide more fine grained control over multipathing

2018-05-31 Thread Sagi Grimberg
Moreover, I also wanted to point out that fabrics array vendors are building products that rely on standard nvme multipathing (and probably multipathing over dispersed namespaces as well), and keeping a knob that will keep nvme users with dm-multipath will probably not help them educate their c

Re: [PATCHv2 1/5] nvme: fix lockdep warning in nvme_mpath_clear_current_path

2018-05-31 Thread Sagi Grimberg
Reviewed-by: Sagi Grimberg

Re: [PATCH 2/5] nvme: don't hold nvmf_transports_rwsem for more than transport lookups

2018-05-31 Thread Sagi Grimberg
diff --git a/drivers/nvme/host/fabrics.c b/drivers/nvme/host/fabrics.c index 7ae732a77fe8..febf82639b40 100644 --- a/drivers/nvme/host/fabrics.c +++ b/drivers/nvme/host/fabrics.c @@ -957,16 +957,17 @@ nvmf_create_ctrl(struct device *dev, const char *buf, size_t count) down_read(&nvmf_tra

Re: [PATCH 3/5] nvme: call nvmf_create_ctrl before checking for duplicate assignment

2018-05-31 Thread Sagi Grimberg
In general it seems like fc loop needs to offload any I/O to a workqueue just like nvme-loop does, but even then I can't see how that is going to cause an issue in this area. Hmm I'll be looking into it. FWIW, I agree it should do that as well.

Re: [PATCH 4/5] nvmet: use atomic allocations when allocating fc requests

2018-05-31 Thread Sagi Grimberg
diff --git a/drivers/nvme/target/fcloop.c b/drivers/nvme/target/fcloop.c index 34712def81b1..d2209c60f95f 100644 --- a/drivers/nvme/target/fcloop.c +++ b/drivers/nvme/target/fcloop.c @@ -509,7 +509,7 @@ fcloop_fcp_req(struct nvme_fc_local_port *localport, if (!rport->targetport)

Re: [PATCH 5/5] nvmet: fcloop: use irqsave spinlocks

2018-05-31 Thread Sagi Grimberg
Lockdep complains about inconsistent hardirq states when using nvme-fcloop. So use the irqsave variant of spin_locks for the nvmefc_fcp_req's reqlock. Is this because of the nvmet bdev can trigger rx path in interrupt context? Don't understand exactly what is violated. Here's the lockdep r

Re: [PATCH -next] nvmet: fix error return code in nvmet_file_ns_enable()

2018-05-31 Thread Sagi Grimberg
Reviewed-by: Sagi Grimberg

Re: [PATCH 0/3] Provide more fine grained control over multipathing

2018-06-03 Thread Sagi Grimberg
I'm aware that most everything in multipath.conf is SCSI/FC specific. That isn't the point. dm-multipath and multipathd are an existing framework for managing multipath storage. It could be made to work with NVMe. But yes it would not be easy. Especially not with the native NVMe multipath cr

Re: [PATCH v2] Bugfix for handling of shadow doorbell buffer.

2018-08-16 Thread Sagi Grimberg
. +*/ + mb(); + if (!nvme_dbbuf_need_event(*dbbuf_ei, value, old_value)) return false; } Reviewed-by: Sagi Grimberg

Re: [PATCH] scatterlist: Update size type to support greater then 4GB size.

2018-12-11 Thread Sagi Grimberg
struct nvme_sgl_desc { __le64 addr; - __le32 length; + __le64 length; __u8rsvd[3]; __u8type; }; in what world changing a wire protocol for this make sense? please get rid of this hunk, NVMe will never cross the 32 bit sg element size.

Re: [PATCH] scatterlist: Update size type to support greater then 4GB size.

2018-12-11 Thread Sagi Grimberg
struct nvme_sgl_desc { __le64 addr; - __le32 length; + __le64 length; __u8rsvd[3]; __u8type; }; Isn't this a device or protocol defined datastructure? You can't just change it like this. You're correct, we can't... [Replied before seeing t

Re: [PATCH v4 2/2] trace nvme submit queue status

2018-12-17 Thread Sagi Grimberg
nvmeq->sq_tail); Why the newline escapes? why not escape at the 80 char border? Other than that, looks fine, Reviewed-by: Sagi Grimberg

Re: [PATCH v4 1/2] export trace.c helper functions to other modules

2018-12-17 Thread Sagi Grimberg
Reviewed-by: Sagi Grimberg

Re: [PATCH][next] nvme-tcp: fix spelling mistake "attepmpt" -> "attempt"

2018-12-14 Thread Sagi Grimberg
Reviewed-by: Sagi Grimberg

Re: [PATCH] nvme-rdma: complete requests from ->timeout

2018-12-11 Thread Sagi Grimberg
I cannot reproduce the bug with the patch; in my failure scenarios, it seems that completing the request on errors in nvme_rdma_send_done makes __nvme_submit_sync_cmd to be unblocked. Also, I think this is safe from the double completions. However, it seems that nvme_rdma_timeout code is still no

Re: [PATCH] nvme-core: don't initlialize ctrl->cntlid twice

2019-01-08 Thread Sagi Grimberg
Reviewed-by: Sagi Grimberg

Re: [PATCH 06/16] blk-mq: add 'type' attribute to the sysfs hctx directory

2018-10-30 Thread Sagi Grimberg
t yet sure how to do that, but would be nice... Other than that, Reviewed-by: Sagi Grimberg

Re: [PATCH] Revert "workqueue: re-add lockdep dependencies for flushing"

2018-10-23 Thread Sagi Grimberg
I also commented over there regarding this specific problem. I think my wording was inaccurate perhaps. It's not so much direct recursion, but a dependency chain connecting the handler_mutex class back to itself. This is how lockdep finds problems, it doesn't consider actual *instances* but o

Re: [PATCH] Revert "workqueue: re-add lockdep dependencies for flushing"

2018-10-22 Thread Sagi Grimberg
I must also say that I'm disappointed you'd try to do things this way. I'd be (have been?) willing to actually help you understand the problem and add the annotations, but rather than answer my question ("where do I find the right git tree"!) you just send a revert patch. Sorry that I had not

Re: [PATCH net-next v12 04/14] mm: page_frag: add '_va' suffix to page_frag API

2024-08-03 Thread Sagi Grimberg
Regardless of the API discussion, The nvme-tcp bits look straight-forward: Acked-by: Sagi Grimberg

Re: [PATCH] nvme-tcp: Check if request has started before processing it

2021-02-15 Thread Sagi Grimberg
blk_mq_tag_to_rq() will always return a request if the command_id is in the valid range. Check if the request has been started. If we blindly process the request we might double complete a request which can be fatal. How did you get to this one? did the controller send a completion for a comp

Re: [PATCH] nvme-tcp: Check if request has started before processing it

2021-02-15 Thread Sagi Grimberg
blk_mq_tag_to_rq() will always return a request if the command_id is in the valid range. Check if the request has been started. If we blindly process the request we might double complete a request which can be fatal. How did you get to this one? did the controller send a completion for a comp

Re: [target:nvme_of 3/3] drivers/target/nvme_of/nvme_of_configfs.c:25:31: sparse: symbol 'nvme_of_fabric_configfs' was not declared. Should it be static?

2015-01-07 Thread Sagi Grimberg
On 1/7/2015 12:44 AM, Nicholas A. Bellinger wrote: On Wed, 2015-01-07 at 03:35 +0800, kbuild test robot wrote: tree: git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending.git nvme_of head: 40d8c11927282d59855d645b35798edd97828da5 commit: 40d8c11927282d59855d645b35798edd97828da5 [

Re: [target:nvme_of 3/3] drivers/target/nvme_of/nvme_of_configfs.c:25:31: sparse: symbol 'nvme_of_fabric_configfs' was not declared. Should it be static?

2015-01-07 Thread Sagi Grimberg
>> On Wed, 2015-01-07 at 10:57 +0200, Sagi Grimberg wrote: >>> On 1/7/2015 12:44 AM, Nicholas A. Bellinger wrote: >>>> On Wed, 2015-01-07 at 03:35 +0800, kbuild test robot wrote: >>>> tree: >>>> git://git.kernel.org/pub/scm/linux/kernel

Re: [RFC 0/2] target: Add TFO->complete_irq queue_work bypass

2015-06-04 Thread Sagi Grimberg
On 6/4/2015 10:06 AM, Nicholas A. Bellinger wrote: On Wed, 2015-06-03 at 14:57 +0200, Christoph Hellwig wrote: This makes lockdep very unhappy, rightly so. If you execute one end_io function inside another you basŃ–cally nest every possible lock taken in the I/O completion path. Also adding mor

Re: [PATCH V2] nvme-pci: assign separate irq vectors for adminq and ioq0

2018-03-01 Thread Sagi Grimberg
Note that we originally allocates irqs this way, and Keith changed it a while ago for good reasons. So I'd really like to see good reasons for moving away from this, and some heuristics to figure out which way to use. E.g. if the device supports more irqs than I/O queues your scheme might alwa

Re: [PATCH v2 06/10] IB/core: Add optional PCI P2P flag to rdma_rw_ctx_[init|destroy]()

2018-03-01 Thread Sagi Grimberg
On 03/01/2018 01:40 AM, Logan Gunthorpe wrote: In order to use PCI P2P memory pci_p2pmem_[un]map_sg() functions must be called to map the correct DMA address. To do this, we add a flags variable and the RDMA_RW_CTX_FLAG_PCI_P2P flag. When the flag is specified use the appropriate map function.

Re: [PATCH v2 00/10] Copy Offload in NVMe Fabrics with P2P PCI Memory

2018-03-01 Thread Sagi Grimberg
Hi Everyone, Hi Logan, Here's v2 of our series to introduce P2P based copy offload to NVMe fabrics. This version has been rebased onto v4.16-rc3 which already includes Christoph's devpagemap work the previous version was based off as well as a couple of the cleanup patches that were in v1.

Re: [PATCH v2 10/10] nvmet: Optionally use PCI P2P memory

2018-03-01 Thread Sagi Grimberg
We create a configfs attribute in each nvme-fabrics target port to enable p2p memory use. When enabled, the port will only then use the p2p memory if a p2p memory device can be found which is behind the same switch as the RDMA port and all the block devices in use. If the user enabled it an no d

Re: [PATCH v2 09/10] nvme-pci: Add a quirk for a pseudo CMB

2018-03-01 Thread Sagi Grimberg
Looks fine, Reviewed-by: Sagi Grimberg

Re: [PATCH v2 08/10] nvme-pci: Add support for P2P memory in requests

2018-03-01 Thread Sagi Grimberg
looks fine to me, Reviewed-by: Sagi Grimberg Any plans adding the capability to nvme-rdma? Should be straight-forward... In theory, the use-case would be rdma backend fabric behind. Shouldn't be hard to test either...

Re: [PATCH v2 05/10] block: Introduce PCI P2P flags for request and request queue

2018-03-01 Thread Sagi Grimberg
Looks fine, Reviewed-by: Sagi Grimberg

Re: [PATCH v2 10/10] nvmet: Optionally use PCI P2P memory

2018-03-01 Thread Sagi Grimberg
On 01/03/18 04:03 AM, Sagi Grimberg wrote: Can you describe what would be the plan to have it when these devices do come along? I'd say that p2p_dev needs to become a nvmet_ns reference and not from nvmet_ctrl. Then, when cmb capable devices come along, the ns can prefer to use its ow

Re: [PATCH v3] nvmet: fix nvmet_execute_write_zeroes function

2018-04-04 Thread Sagi Grimberg
Reviewed-by: Sagi Grimberg

Re: [PATCH] nvme-multipath: implement active-active round-robin path selector

2018-04-04 Thread Sagi Grimberg
For PCIe devices the right policy is not a round robin but to use the pcie device closer to the node. I did a prototype for that long ago and the concept can work. Can you look into that and also make that policy used automatically for PCIe devices? I think that active/active makes sense for

Re: [PATCH] nvme-multipath: implement active-active round-robin path selector

2018-04-04 Thread Sagi Grimberg
@@ -85,7 +121,14 @@ static blk_qc_t nvme_ns_head_make_request(struct request_queue *q, int srcu_idx; srcu_idx = srcu_read_lock(&head->srcu); - ns = nvme_find_path(head); + switch (head->mpath_policy) { + case NVME_MPATH_ROUND_ROBIN: + ns = nvme_fin

Re: [PATCH 2/4] nvmet-rdma: Use new SGL alloc/free helper for requests

2018-04-04 Thread Sagi Grimberg
@@ -565,24 +565,24 @@ static u16 nvmet_rdma_map_sgl_keyed(struct nvmet_rdma_rsp *rsp, { struct rdma_cm_id *cm_id = rsp->queue->cm_id; u64 addr = le64_to_cpu(sgl->addr); - u32 len = get_unaligned_le24(sgl->length); u32 key = get_unaligned_le32(sgl->key); i

Re: [PATCH 3/4] nvmet-fc: Don't use the count returned by the dma_map_sg call

2018-04-04 Thread Sagi Grimberg
Reviewed-by: Sagi Grimberg

Re: [PATCH 0/3] Provide more fine grained control over multipathing

2018-06-04 Thread Sagi Grimberg
[so much for putting out flames... :/] This projecting onto me that I've not been keeping the conversation technical is in itself hostile. Sure I get frustrated and lash out (as I'm _sure_ you'll feel in this reply) You're right, I do feel this is lashing out. And I don't appreciate it. Pleas

Re: [PATCH v2] nvme: trace: add disk name to tracepoints

2018-06-04 Thread Sagi Grimberg
Add disk name to tracepoints so we can better destinguish between individual disks in the trace output. Signed-off-by: Johannes Thumshirn Reviewed-by: Sagi Grimberg Nit: s/destinguish/distinguish/g Christoph, can you fix it up when applying or you want me to do it?

Re: [PATCH 0/3] Provide more fine grained control over multipathing

2018-06-06 Thread Sagi Grimberg
We plan to implement all the fancy NVMe standards like ANA, but it seems that there is still a requirement to let the host side choose policies about how to use paths (round-robin vs least queue depth for example). Even in the modern SCSI world with VPD pages and ALUA, there are still knobs th

Re: [PATCH v2 0/2] Adding per-controller timeout support to nvme

2019-04-24 Thread Sagi Grimberg
As different nvme controllers are connect via different fabrics, some require different timeout settings than others. This series implements per-controller timeouts in the nvme subsystem which can be set via sysfs. How much of a real issue is this? block io_timeout defaults to 30 seconds whi

Re: [PATCH 1/3] drivers: nvme: target: core: fix build break

2019-04-24 Thread Sagi Grimberg
Reviewed-by: Sagi Grimberg

Re: [PATCH v2 0/2] Adding per-controller timeout support to nvme

2019-04-24 Thread Sagi Grimberg
As different nvme controllers are connect via different fabrics, some require different timeout settings than others. This series implements per-controller timeouts in the nvme subsystem which can be set via sysfs. How much of a real issue is this? block io_timeout defaults to 30 seconds whi

Re: [PATCH] nvmet: disable direct I/O when unavailable

2019-02-25 Thread Sagi Grimberg
Frankly, we have a ton of testing related special cases in the kernel. This one is a) simple and small, only 10 LoC, b) far away from the fast path or any other place where it could have any impact on legitimate users and c) it prints an informal message showing you what happened. Sorry but t

Re: [PATCH] RDMA/mlx4: Spread completion vectors for proxy CQs

2019-02-25 Thread Sagi Grimberg
tion. If passed, the core will attempt to attach a CQ with a completion vector that is directed to the cpu core as the affinity hint provided. Signed-off-by: Sagi Grimberg -- That one added implicit QP create flags: -- diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h index bdb1279a4

Re: [PATCH] nvme-tcp: Check if request has started before processing it

2021-02-12 Thread Sagi Grimberg
blk_mq_tag_to_rq() will always return a request if the command_id is in the valid range. Check if the request has been started. If we blindly process the request we might double complete a request which can be fatal. How did you get to this one? did the controller send a completion for a complet

Re: [PATCH] nvme-tcp: Check if request has started before processing it

2021-02-12 Thread Sagi Grimberg
blk_mq_tag_to_rq() will always return a request if the command_id is in the valid range. Check if the request has been started. If we blindly process the request we might double complete a request which can be fatal. How did you get to this one? did the controller send a completion for a comp

Re: [PATCH] nvme: convert sysfs sprintf/snprintf family to sysfs_emit

2021-02-03 Thread Sagi Grimberg
Reviewed-by: Sagi Grimberg

Re: [PATCH v2] nvme-multipath: Early exit if no path is available

2021-01-28 Thread Sagi Grimberg
You can't see exactly where it dies but I followed the assembly to nvme_round_robin_path(). Maybe it's not the initial nvme_next_ns(head, old) which returns NULL but nvme_next_ns() is returning NULL eventually (list_next_or_null_rcu()). So there is other bug cause nvme_next_ns abormal. I revie

Re: [PATCH v2] nvme-multipath: Early exit if no path is available

2021-01-28 Thread Sagi Grimberg
You can't see exactly where it dies but I followed the assembly to nvme_round_robin_path(). Maybe it's not the initial nvme_next_ns(head, old) which returns NULL but nvme_next_ns() is returning NULL eventually (list_next_or_null_rcu()). So there is other bug cause nvme_next_ns abormal. I revie

Re: [IB/srpt] c804af2c1d: last_state.test.blktests.exit_code.143

2020-08-03 Thread Sagi Grimberg
Greeting, FYI, we noticed the following commit (built with gcc-9): commit: c804af2c1d3152c0cf877eeb50d60c2d49ac0cf0 ("IB/srpt: use new shared CQ mechanism") https://git.kernel.org/cgit/linux/kernel/git/rdma/rdma.git for-next in testcase: blktests with following parameters: test: srp-

Re: [PATCH] nvmet-passthru: Reject commands with non-sgl flags set

2020-08-03 Thread Sagi Grimberg
Reviewed-by: Sagi Grimberg

Re: [PATCH] nvmet: fix opps in nvmet_execute_passthru_cmd()

2020-08-05 Thread Sagi Grimberg
This patch adds a check in nvmet_execute_passthru_cmd() to prevent the following oops :- Why LKML and not linux-nvme?

Re: [PATCH] nvmet: fix opps in nvmet_execute_passthru_cmd()

2020-08-05 Thread Sagi Grimberg
This patch adds a check in nvmet_execute_passthru_cmd() to prevent the following oops :- Why LKML and not linux-nvme? My bad (+linux-nvme). It doesn't have the patch. can you resend?

  1   2   3   4   5   >