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

2018-01-19 Thread Keith Busch
On Fri, Jan 19, 2018 at 09:56:48PM +0800, jianchao.wang wrote: > In nvme_dev_disable, the outstanding requests will be requeued finally. > I'm afraid the requests requeued on the q->requeue_list will be blocked until > another requeue > occurs, if we cancel the requeue work before it get

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

2018-01-19 Thread Keith Busch
On Fri, Jan 19, 2018 at 05:02:06PM +0800, jianchao.wang wrote: > We should not use blk_sync_queue here, the requeue_work and run_work will be > canceled. > Just flush_work(>timeout_work) should be ok. I agree flushing timeout_work is sufficient. All the other work had already better not be

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

2018-01-19 Thread Keith Busch
On Fri, Jan 19, 2018 at 05:02:06PM +0800, jianchao.wang wrote: > We should not use blk_sync_queue here, the requeue_work and run_work will be > canceled. > Just flush_work(>timeout_work) should be ok. I agree flushing timeout_work is sufficient. All the other work had already better not be

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

2018-01-19 Thread Keith Busch
On Fri, Jan 19, 2018 at 04:14:02PM +0800, jianchao.wang wrote: > On 01/19/2018 04:01 PM, Keith Busch wrote: > > The nvme_dev_disable routine makes forward progress without depending on > > timeout handling to complete expired commands. Once controller disabling > > completes,

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

2018-01-19 Thread Keith Busch
On Fri, Jan 19, 2018 at 04:14:02PM +0800, jianchao.wang wrote: > On 01/19/2018 04:01 PM, Keith Busch wrote: > > The nvme_dev_disable routine makes forward progress without depending on > > timeout handling to complete expired commands. Once controller disabling > > completes,

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

2018-01-18 Thread Keith Busch
On Thu, Jan 18, 2018 at 06:10:00PM +0800, Jianchao Wang wrote: > Hello > > Please consider the following scenario. > nvme_reset_ctrl > -> set state to RESETTING > -> queue reset_work > (scheduling) > nvme_reset_work > -> nvme_dev_disable > -> quiesce queues > ->

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

2018-01-18 Thread Keith Busch
On Thu, Jan 18, 2018 at 06:10:00PM +0800, Jianchao Wang wrote: > Hello > > Please consider the following scenario. > nvme_reset_ctrl > -> set state to RESETTING > -> queue reset_work > (scheduling) > nvme_reset_work > -> nvme_dev_disable > -> quiesce queues > ->

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

2018-01-18 Thread Keith Busch
On Fri, Jan 19, 2018 at 01:55:29PM +0800, jianchao.wang wrote: > On 01/19/2018 12:59 PM, Keith Busch wrote: > > On Thu, Jan 18, 2018 at 06:10:02PM +0800, Jianchao Wang wrote: > >> + * - When the ctrl.state is NVME_CTRL_RESETTING, the expired > >> + * request sh

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

2018-01-18 Thread Keith Busch
On Fri, Jan 19, 2018 at 01:55:29PM +0800, jianchao.wang wrote: > On 01/19/2018 12:59 PM, Keith Busch wrote: > > On Thu, Jan 18, 2018 at 06:10:02PM +0800, Jianchao Wang wrote: > >> + * - When the ctrl.state is NVME_CTRL_RESETTING, the expired > >> + * request sh

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

2018-01-18 Thread Keith Busch
On Thu, Jan 18, 2018 at 06:10:02PM +0800, Jianchao Wang wrote: > + * - When the ctrl.state is NVME_CTRL_RESETTING, the expired > + * request should come from the previous work and we handle > + * it as nvme_cancel_request. > + * - When the ctrl.state is

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

2018-01-18 Thread Keith Busch
On Thu, Jan 18, 2018 at 06:10:02PM +0800, Jianchao Wang wrote: > + * - When the ctrl.state is NVME_CTRL_RESETTING, the expired > + * request should come from the previous work and we handle > + * it as nvme_cancel_request. > + * - When the ctrl.state is

Re: [PATCH v5 4/4] PCI/DPC: Enumerate the devices after DPC trigger event

2018-01-18 Thread Keith Busch
On Thu, Jan 18, 2018 at 11:35:59AM -0500, Sinan Kaya wrote: > On 1/18/2018 12:32 AM, p...@codeaurora.org wrote: > > On 2018-01-18 08:26, Keith Busch wrote: > >> On Wed, Jan 17, 2018 at 08:27:39AM -0800, Sinan Kaya wrote: > >>> On 1/17/2018 5:37 AM, Oza Pawande

Re: [PATCH v5 4/4] PCI/DPC: Enumerate the devices after DPC trigger event

2018-01-18 Thread Keith Busch
On Thu, Jan 18, 2018 at 11:35:59AM -0500, Sinan Kaya wrote: > On 1/18/2018 12:32 AM, p...@codeaurora.org wrote: > > On 2018-01-18 08:26, Keith Busch wrote: > >> On Wed, Jan 17, 2018 at 08:27:39AM -0800, Sinan Kaya wrote: > >>> On 1/17/2018 5:37 AM, Oza Pawande

Re: [BUG 4.15-rc7] IRQ matrix management errors

2018-01-18 Thread Keith Busch
On Thu, Jan 18, 2018 at 09:10:43AM +0100, Thomas Gleixner wrote: > Can you please provide the output of > > # cat /sys/kernel/debug/irq/irqs/$ONE_I40_IRQ # cat /sys/kernel/debug/irq/irqs/48 handler: handle_edge_irq device: :1a:00.0 status: 0x istate: 0x ddepth: 0

Re: [BUG 4.15-rc7] IRQ matrix management errors

2018-01-18 Thread Keith Busch
On Thu, Jan 18, 2018 at 09:10:43AM +0100, Thomas Gleixner wrote: > Can you please provide the output of > > # cat /sys/kernel/debug/irq/irqs/$ONE_I40_IRQ # cat /sys/kernel/debug/irq/irqs/48 handler: handle_edge_irq device: :1a:00.0 status: 0x istate: 0x ddepth: 0

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

2018-01-17 Thread Keith Busch
Looks good. Reviewed-by: Keith Busch <keith.bu...@intel.com>

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

2018-01-17 Thread Keith Busch
Looks good. Reviewed-by: Keith Busch

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

2018-01-17 Thread Keith Busch
Looks good. Reviewed-by: Keith Busch <keith.bu...@intel.com>

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

2018-01-17 Thread Keith Busch
Looks good. Reviewed-by: Keith Busch

Re: [PATCH v5 4/4] PCI/DPC: Enumerate the devices after DPC trigger event

2018-01-17 Thread Keith Busch
On Wed, Jan 17, 2018 at 08:27:39AM -0800, Sinan Kaya wrote: > On 1/17/2018 5:37 AM, Oza Pawandeep wrote: > > +static bool dpc_wait_link_active(struct pci_dev *pdev) > > +{ > > I think you can also make this function common instead of making another copy > here. > Of course, this would be another

Re: [PATCH v5 4/4] PCI/DPC: Enumerate the devices after DPC trigger event

2018-01-17 Thread Keith Busch
On Wed, Jan 17, 2018 at 08:27:39AM -0800, Sinan Kaya wrote: > On 1/17/2018 5:37 AM, Oza Pawandeep wrote: > > +static bool dpc_wait_link_active(struct pci_dev *pdev) > > +{ > > I think you can also make this function common instead of making another copy > here. > Of course, this would be another

Re: [BUG 4.15-rc7] IRQ matrix management errors

2018-01-17 Thread Keith Busch
er 200 iterations that used to fail within only a few. I'd say the problem is cured. Thanks! Tested-by: Keith Busch <keith.bu...@intel.com>

Re: [BUG 4.15-rc7] IRQ matrix management errors

2018-01-17 Thread Keith Busch
er 200 iterations that used to fail within only a few. I'd say the problem is cured. Thanks! Tested-by: Keith Busch

Re: [BUG 4.15-rc7] IRQ matrix management errors

2018-01-16 Thread Keith Busch
On Wed, Jan 17, 2018 at 08:34:22AM +0100, Thomas Gleixner wrote: > Can you trace the matrix allocations from the very beginning or tell me how > to reproduce. I'd like to figure out why this is happening. Sure, I'll get the irq_matrix events. I reproduce this on a machine with 112 CPUs and 3

Re: [BUG 4.15-rc7] IRQ matrix management errors

2018-01-16 Thread Keith Busch
On Wed, Jan 17, 2018 at 08:34:22AM +0100, Thomas Gleixner wrote: > Can you trace the matrix allocations from the very beginning or tell me how > to reproduce. I'd like to figure out why this is happening. Sure, I'll get the irq_matrix events. I reproduce this on a machine with 112 CPUs and 3

Re: [BUG 4.15-rc7] IRQ matrix management errors

2018-01-16 Thread Keith Busch
+ 1); > + x86_vector_free_irqs(domain, virq, i); > return err; > } > The patch does indeed fix all the warnings and allows device binding to succeed, albeit in a degraded performance mode. Despite that, this is a good fix, and looks applicable to 4.4-stable, so: Tested-by: Keith Bu

Re: [BUG 4.15-rc7] IRQ matrix management errors

2018-01-16 Thread Keith Busch
+ 1); > + x86_vector_free_irqs(domain, virq, i); > return err; > } > The patch does indeed fix all the warnings and allows device binding to succeed, albeit in a degraded performance mode. Despite that, this is a good fix, and looks applicable to 4.4-stable, so: Tested-by: Keith

Re: [PATCH v2 0/2] add tracepoints for nvme command submission and completion

2018-01-16 Thread Keith Busch
On Tue, Jan 16, 2018 at 03:28:19PM +0100, Johannes Thumshirn wrote: > Add tracepoints for nvme command submission and completion. The tracepoints > are modeled after SCSI's trace_scsi_dispatch_cmd_start() and > trace_scsi_dispatch_cmd_done() tracepoints and fulfil a similar purpose, > namely a

Re: [PATCH v2 0/2] add tracepoints for nvme command submission and completion

2018-01-16 Thread Keith Busch
On Tue, Jan 16, 2018 at 03:28:19PM +0100, Johannes Thumshirn wrote: > Add tracepoints for nvme command submission and completion. The tracepoints > are modeled after SCSI's trace_scsi_dispatch_cmd_start() and > trace_scsi_dispatch_cmd_done() tracepoints and fulfil a similar purpose, > namely a

Re: [BUG 4.15-rc7] IRQ matrix management errors

2018-01-16 Thread Keith Busch
On Tue, Jan 16, 2018 at 12:20:18PM +0100, Thomas Gleixner wrote: > What we want is s/i + 1/i/ > > That's correct because x86_vector_free_irqs() does: > >for (i = 0; i < nr; i++) > > > So if we fail at the first irq, then the loop will do nothing. Failing on > the

Re: [BUG 4.15-rc7] IRQ matrix management errors

2018-01-16 Thread Keith Busch
On Tue, Jan 16, 2018 at 12:20:18PM +0100, Thomas Gleixner wrote: > What we want is s/i + 1/i/ > > That's correct because x86_vector_free_irqs() does: > >for (i = 0; i < nr; i++) > > > So if we fail at the first irq, then the loop will do nothing. Failing on > the

Re: [BUG 4.15-rc7] IRQ matrix management errors

2018-01-15 Thread Keith Busch
This is all way over my head, but the part that obviously shows something's gone wrong: kworker/u674:3-1421 [028] d... 335.307051: irq_matrix_reserve_managed: bit=56 cpu=0 online=1 avl=86 alloc=116 managed=3 online_maps=112 global_avl=22084, global_rsvd=157, total_alloc=570

Re: [BUG 4.15-rc7] IRQ matrix management errors

2018-01-15 Thread Keith Busch
This is all way over my head, but the part that obviously shows something's gone wrong: kworker/u674:3-1421 [028] d... 335.307051: irq_matrix_reserve_managed: bit=56 cpu=0 online=1 avl=86 alloc=116 managed=3 online_maps=112 global_avl=22084, global_rsvd=157, total_alloc=570

[BUG 4.15-rc7] IRQ matrix management errors

2018-01-14 Thread Keith Busch
I hoped to have a better report before the weekend, but I've run out of time and without my machine till next week, so sending what I have and praying someone more in the know will have a better clue. I've a few NVMe drives and occasionally the IRQ teardown and bring-up is failing. Resetting the

[BUG 4.15-rc7] IRQ matrix management errors

2018-01-14 Thread Keith Busch
I hoped to have a better report before the weekend, but I've run out of time and without my machine till next week, so sending what I have and praying someone more in the know will have a better clue. I've a few NVMe drives and occasionally the IRQ teardown and bring-up is failing. Resetting the

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

2018-01-14 Thread Keith Busch
On Mon, Jan 15, 2018 at 10:02:04AM +0800, jianchao.wang wrote: > Hi keith > > Thanks for your kindly review and response. I agree with Sagi's feedback, but I can't take credit for it. :)

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

2018-01-14 Thread Keith Busch
On Mon, Jan 15, 2018 at 10:02:04AM +0800, jianchao.wang wrote: > Hi keith > > Thanks for your kindly review and response. I agree with Sagi's feedback, but I can't take credit for it. :)

Re: ASPM powersupersave change NVMe SSD Samsung 960 PRO capacity to 0 and read-only

2018-01-11 Thread Keith Busch
On Thu, Jan 11, 2018 at 06:50:40PM +0100, Maik Broemme wrote: > I've re-run the test with 4.15rc7.r111.g5f615b97cdea and the following > patches from Keith: > > [PATCH 1/4] PCI/AER: Return approrpiate value when AER is not supported > [PATCH 2/4] PCI/AER: Provide API for getting AER information >

Re: ASPM powersupersave change NVMe SSD Samsung 960 PRO capacity to 0 and read-only

2018-01-11 Thread Keith Busch
On Thu, Jan 11, 2018 at 06:50:40PM +0100, Maik Broemme wrote: > I've re-run the test with 4.15rc7.r111.g5f615b97cdea and the following > patches from Keith: > > [PATCH 1/4] PCI/AER: Return approrpiate value when AER is not supported > [PATCH 2/4] PCI/AER: Provide API for getting AER information >

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

2018-01-11 Thread Keith Busch
On Thu, Jan 11, 2018 at 01:09:39PM +0800, Jianchao Wang wrote: > The calculation of iod and avg_seg_size maybe meaningless if > nvme_pci_use_sgls returns before uses them. So calculate > just before use them. The compiler will do the right thing here, but I see what you mean. I think Christoph

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

2018-01-11 Thread Keith Busch
On Thu, Jan 11, 2018 at 01:09:39PM +0800, Jianchao Wang wrote: > The calculation of iod and avg_seg_size maybe meaningless if > nvme_pci_use_sgls returns before uses them. So calculate > just before use them. The compiler will do the right thing here, but I see what you mean. I think Christoph

Re: [PATCH] nvme: initialize hostid uuid in nvmf_host_default to not leak kernel memory

2018-01-09 Thread Keith Busch
5e ("nvme: add hostid token to fabric > options"). > > Fixes: 6bfe04255d5e ("nvme: add hostid token to fabric options") > Reported-by: Alexander Potapenko <gli...@google.com> > Signed-off-by: Johannes Thumshirn <jthumsh...@suse.de> Thanks for the report and the fix. It'd still be good to use the kzalloc variant in addition to this. Reviewed-by: Keith Busch <keith.bu...@intel.com>

Re: [PATCH] nvme: initialize hostid uuid in nvmf_host_default to not leak kernel memory

2018-01-09 Thread Keith Busch
5e ("nvme: add hostid token to fabric > options"). > > Fixes: 6bfe04255d5e ("nvme: add hostid token to fabric options") > Reported-by: Alexander Potapenko > Signed-off-by: Johannes Thumshirn Thanks for the report and the fix. It'd still be good to use the kzalloc variant in addition to this. Reviewed-by: Keith Busch

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

2018-01-08 Thread Keith Busch
On Tue, Jan 09, 2018 at 10:03:11AM +0800, Jianchao Wang wrote: > Hello Sorry for the distraction, but could you possibly fix the date on your machine? For some reason, lists.infradead.org sorts threads by the time you claim to have sent your message rather than the time it was received, and

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

2018-01-08 Thread Keith Busch
On Tue, Jan 09, 2018 at 10:03:11AM +0800, Jianchao Wang wrote: > Hello Sorry for the distraction, but could you possibly fix the date on your machine? For some reason, lists.infradead.org sorts threads by the time you claim to have sent your message rather than the time it was received, and

Re: [PATCH 09/12] nvme-pci: Use PCI p2pmem subsystem to manage the CMB

2018-01-05 Thread Keith Busch
On Fri, Jan 05, 2018 at 11:19:28AM -0700, Logan Gunthorpe wrote: > Although it is not explicitly stated anywhere, pci_alloc_p2pmem() should > always be at least 4k aligned. This is because the gen_pool that implements > it is created with PAGE_SHIFT for its min_alloc_order. Ah, I see that now.

Re: [PATCH 09/12] nvme-pci: Use PCI p2pmem subsystem to manage the CMB

2018-01-05 Thread Keith Busch
On Fri, Jan 05, 2018 at 11:19:28AM -0700, Logan Gunthorpe wrote: > Although it is not explicitly stated anywhere, pci_alloc_p2pmem() should > always be at least 4k aligned. This is because the gen_pool that implements > it is created with PAGE_SHIFT for its min_alloc_order. Ah, I see that now.

Re: [PATCH 09/12] nvme-pci: Use PCI p2pmem subsystem to manage the CMB

2018-01-05 Thread Keith Busch
On Thu, Jan 04, 2018 at 12:01:34PM -0700, Logan Gunthorpe wrote: > Register the CMB buffer as p2pmem and use the appropriate allocation > functions to create and destroy the IO SQ. > > If the CMB supports WDS and RDS, publish it for use as p2p memory > by other devices. <> > + if (qid &&

Re: [PATCH 09/12] nvme-pci: Use PCI p2pmem subsystem to manage the CMB

2018-01-05 Thread Keith Busch
On Thu, Jan 04, 2018 at 12:01:34PM -0700, Logan Gunthorpe wrote: > Register the CMB buffer as p2pmem and use the appropriate allocation > functions to create and destroy the IO SQ. > > If the CMB supports WDS and RDS, publish it for use as p2p memory > by other devices. <> > + if (qid &&

Re: [PATCH v2 0/4] Address error and recovery for AER and DPC

2018-01-02 Thread Keith Busch
On Tue, Jan 02, 2018 at 01:02:15PM -0600, Bjorn Helgaas wrote: > On Fri, Dec 29, 2017 at 12:54:15PM +0530, Oza Pawandeep wrote: > > This patch set brings in support for DPC and AER to co-exist and not to > > race for recovery. > > > > The current implementation of AER and error message

Re: [PATCH v2 0/4] Address error and recovery for AER and DPC

2018-01-02 Thread Keith Busch
On Tue, Jan 02, 2018 at 01:02:15PM -0600, Bjorn Helgaas wrote: > On Fri, Dec 29, 2017 at 12:54:15PM +0530, Oza Pawandeep wrote: > > This patch set brings in support for DPC and AER to co-exist and not to > > race for recovery. > > > > The current implementation of AER and error message

Re: [PATCH v2 2/4] PCI/DPC/AER: Address Concurrency between AER and DPC

2018-01-02 Thread Keith Busch
On Tue, Jan 02, 2018 at 08:25:08AM -0500, Sinan Kaya wrote: > > 2. A DPC event suppresses the error message required for the Linux > > AER driver to run. How can AER and DPC run concurrently? > > > > As we briefly discussed in previous email exchanges, I think you are > looking at a use case

Re: [PATCH v2 2/4] PCI/DPC/AER: Address Concurrency between AER and DPC

2018-01-02 Thread Keith Busch
On Tue, Jan 02, 2018 at 08:25:08AM -0500, Sinan Kaya wrote: > > 2. A DPC event suppresses the error message required for the Linux > > AER driver to run. How can AER and DPC run concurrently? > > > > As we briefly discussed in previous email exchanges, I think you are > looking at a use case

Re: [PATCH v2 2/4] PCI/DPC/AER: Address Concurrency between AER and DPC

2017-12-29 Thread Keith Busch
On Fri, Dec 29, 2017 at 11:30:02PM +0530, p...@codeaurora.org wrote: > On 2017-12-29 22:53, Keith Busch wrote: > > > 2. A DPC event suppresses the error message required for the Linux > > AER driver to run. How can AER and DPC run concurrently? > > I afraid I could

Re: [PATCH v2 2/4] PCI/DPC/AER: Address Concurrency between AER and DPC

2017-12-29 Thread Keith Busch
On Fri, Dec 29, 2017 at 11:30:02PM +0530, p...@codeaurora.org wrote: > On 2017-12-29 22:53, Keith Busch wrote: > > > 2. A DPC event suppresses the error message required for the Linux > > AER driver to run. How can AER and DPC run concurrently? > > I afraid I could

Re: [PATCH v2 2/4] PCI/DPC/AER: Address Concurrency between AER and DPC

2017-12-29 Thread Keith Busch
On Fri, Dec 29, 2017 at 12:54:17PM +0530, Oza Pawandeep wrote: > This patch addresses the race condition between AER and DPC for recovery. > > Current DPC driver does not do recovery, e.g. calling end-point's driver's > callbacks, which sanitize the device. > DPC driver implements link_reset

Re: [PATCH v2 2/4] PCI/DPC/AER: Address Concurrency between AER and DPC

2017-12-29 Thread Keith Busch
On Fri, Dec 29, 2017 at 12:54:17PM +0530, Oza Pawandeep wrote: > This patch addresses the race condition between AER and DPC for recovery. > > Current DPC driver does not do recovery, e.g. calling end-point's driver's > callbacks, which sanitize the device. > DPC driver implements link_reset

Re: [PATCH 0/4] Address error and recovery for AER and DPC

2017-12-28 Thread Keith Busch
On Wed, Dec 27, 2017 at 02:20:18AM -0800, Oza Pawandeep wrote: > DPC should enumerate the devices after recovering the link, which is > achieved by implementing error_resume callback. Wouldn't that race with the link-up event that pciehp currently handles?

Re: [PATCH 0/4] Address error and recovery for AER and DPC

2017-12-28 Thread Keith Busch
On Wed, Dec 27, 2017 at 02:20:18AM -0800, Oza Pawandeep wrote: > DPC should enumerate the devices after recovering the link, which is > achieved by implementing error_resume callback. Wouldn't that race with the link-up event that pciehp currently handles?

Re: ASPM powersupersave change NVMe SSD Samsung 960 PRO capacity to 0 and read-only

2017-12-15 Thread Keith Busch
On Thu, Dec 14, 2017 at 06:21:55PM -0600, Bjorn Helgaas wrote: > [+cc Rajat, Keith, linux-kernel] > > On Thu, Dec 14, 2017 at 07:47:01PM +0100, Maik Broemme wrote: > > I have a Samsung 960 PRO NVMe SSD (Non-Volatile memory controller: > > Samsung Electronics Co Ltd NVMe SSD Controller

Re: ASPM powersupersave change NVMe SSD Samsung 960 PRO capacity to 0 and read-only

2017-12-15 Thread Keith Busch
On Thu, Dec 14, 2017 at 06:21:55PM -0600, Bjorn Helgaas wrote: > [+cc Rajat, Keith, linux-kernel] > > On Thu, Dec 14, 2017 at 07:47:01PM +0100, Maik Broemme wrote: > > I have a Samsung 960 PRO NVMe SSD (Non-Volatile memory controller: > > Samsung Electronics Co Ltd NVMe SSD Controller

Re: [PATCH v2] PCI/DPC: Fix shared interrupt handling

2017-12-14 Thread Keith Busch
else we may never see it execute due to further incoming interrupts. > A software generated DPC floods the system otherwise. > > Signed-off-by: Alex Williamson <alex.william...@redhat.com> Thanks, looks good. Reviewed-by: Keith Busch <keith.bu...@intel.com>

Re: [PATCH v2] PCI/DPC: Fix shared interrupt handling

2017-12-14 Thread Keith Busch
else we may never see it execute due to further incoming interrupts. > A software generated DPC floods the system otherwise. > > Signed-off-by: Alex Williamson Thanks, looks good. Reviewed-by: Keith Busch

Re: [PATCH] PCI/DPC: Fix shared interrupt handling

2017-12-14 Thread Keith Busch
On Wed, Dec 13, 2017 at 05:01:58PM -0700, Alex Williamson wrote: > @@ -109,6 +109,7 @@ static void interrupt_event_handler(struct work_struct > *work) > struct dpc_dev *dpc = container_of(work, struct dpc_dev, work); > struct pci_dev *dev, *temp, *pdev = dpc->dev->port; > struct

Re: [PATCH] PCI/DPC: Fix shared interrupt handling

2017-12-14 Thread Keith Busch
On Wed, Dec 13, 2017 at 05:01:58PM -0700, Alex Williamson wrote: > @@ -109,6 +109,7 @@ static void interrupt_event_handler(struct work_struct > *work) > struct dpc_dev *dpc = container_of(work, struct dpc_dev, work); > struct pci_dev *dev, *temp, *pdev = dpc->dev->port; > struct

Re: [PATCH v2 2/2] dm unstripe: Add documentation for unstripe target

2017-12-12 Thread Keith Busch
On Tue, Dec 12, 2017 at 01:35:13PM +0200, Nikolay Borisov wrote: > On 11.12.2017 18:00, Scott Bauer wrote: > > +As an example: > > + > > +Intel NVMe drives contain two cores on the physical device. > > +Each core of the drive has segregated access to its LBA range. > > +The current

Re: [PATCH v2 2/2] dm unstripe: Add documentation for unstripe target

2017-12-12 Thread Keith Busch
On Tue, Dec 12, 2017 at 01:35:13PM +0200, Nikolay Borisov wrote: > On 11.12.2017 18:00, Scott Bauer wrote: > > +As an example: > > + > > +Intel NVMe drives contain two cores on the physical device. > > +Each core of the drive has segregated access to its LBA range. > > +The current

Re: [PATCH v2 1/2] dm-unstripe: unstripe of IO across RAID 0

2017-12-11 Thread Keith Busch
you want, and tests successfully on my synthetic workloads. Acked-by: Keith Busch <keith.bu...@intel.com>

Re: [PATCH v2 1/2] dm-unstripe: unstripe of IO across RAID 0

2017-12-11 Thread Keith Busch
you want, and tests successfully on my synthetic workloads. Acked-by: Keith Busch

Re: [PATCH v2 2/2] dm unstripe: Add documentation for unstripe target

2017-12-11 Thread Keith Busch
On Mon, Dec 11, 2017 at 09:00:19AM -0700, Scott Bauer wrote: > +Example scripts: > + > + > +dmsetup create nvmset1 --table '0 1 dm-unstripe /dev/nvme0n1 1 2 0' > +dmsetup create nvmset0 --table '0 1 dm-unstripe /dev/nvme0n1 0 2 0' > + > +There will now be two mappers: >

Re: [PATCH v2 2/2] dm unstripe: Add documentation for unstripe target

2017-12-11 Thread Keith Busch
On Mon, Dec 11, 2017 at 09:00:19AM -0700, Scott Bauer wrote: > +Example scripts: > + > + > +dmsetup create nvmset1 --table '0 1 dm-unstripe /dev/nvme0n1 1 2 0' > +dmsetup create nvmset0 --table '0 1 dm-unstripe /dev/nvme0n1 0 2 0' > + > +There will now be two mappers: >

Re: [PATCH 1/3] nvme: do not check for ns on rw path

2017-11-06 Thread Keith Busch
On Mon, Nov 06, 2017 at 10:13:24AM +0100, Christoph Hellwig wrote: > On Sat, Nov 04, 2017 at 09:38:45AM -0600, Keith Busch wrote: > > That's not quite right. For non-PI metadata formats, we use the > > 'nop_profile', which gets the metadata buffer allocated so we can safely >

Re: [PATCH 1/3] nvme: do not check for ns on rw path

2017-11-06 Thread Keith Busch
On Mon, Nov 06, 2017 at 10:13:24AM +0100, Christoph Hellwig wrote: > On Sat, Nov 04, 2017 at 09:38:45AM -0600, Keith Busch wrote: > > That's not quite right. For non-PI metadata formats, we use the > > 'nop_profile', which gets the metadata buffer allocated so we can safely >

Re: [PATCH 1/3] nvme: do not check for ns on rw path

2017-11-04 Thread Keith Busch
On Sat, Nov 04, 2017 at 09:18:25AM +0100, Christoph Hellwig wrote: > On Fri, Nov 03, 2017 at 09:02:04AM -0600, Keith Busch wrote: > > If the namespace has metadata, but the request doesn't have a metadata > > payload attached to it for whatever reason, we can't constr

Re: [PATCH 1/3] nvme: do not check for ns on rw path

2017-11-04 Thread Keith Busch
On Sat, Nov 04, 2017 at 09:18:25AM +0100, Christoph Hellwig wrote: > On Fri, Nov 03, 2017 at 09:02:04AM -0600, Keith Busch wrote: > > If the namespace has metadata, but the request doesn't have a metadata > > payload attached to it for whatever reason, we can't constr

Re: [PATCH 3/3] nvme: fix eui_show() print format

2017-11-03 Thread Keith Busch
just prints the same as the 'ph' format, which would look like this: 01 02 03 04 05 06 07 08 The change will make it look like this: 01-02-03-04-05-06-07-08 I think that was the original intention. Reviewed-by: Keith Busch <keith.bu...@intel.com>

Re: [PATCH 3/3] nvme: fix eui_show() print format

2017-11-03 Thread Keith Busch
the 'ph' format, which would look like this: 01 02 03 04 05 06 07 08 The change will make it look like this: 01-02-03-04-05-06-07-08 I think that was the original intention. Reviewed-by: Keith Busch

Re: [PATCH 1/3] nvme: do not check for ns on rw path

2017-11-03 Thread Keith Busch
On Fri, Nov 03, 2017 at 01:53:40PM +0100, Christoph Hellwig wrote: > > - if (ns && ns->ms && > > + if (ns->ms && > > (!ns->pi_type || ns->ms != sizeof(struct t10_pi_tuple)) && > > !blk_integrity_rq(req) && !blk_rq_is_passthrough(req)) > > return BLK_STS_NOTSUPP; >

Re: [PATCH 1/3] nvme: do not check for ns on rw path

2017-11-03 Thread Keith Busch
On Fri, Nov 03, 2017 at 01:53:40PM +0100, Christoph Hellwig wrote: > > - if (ns && ns->ms && > > + if (ns->ms && > > (!ns->pi_type || ns->ms != sizeof(struct t10_pi_tuple)) && > > !blk_integrity_rq(req) && !blk_rq_is_passthrough(req)) > > return BLK_STS_NOTSUPP; >

Re: [PATCH] nvme-pci: Use PCI bus address for data/queues in CMB

2017-10-03 Thread Keith Busch
On Sat, Sep 30, 2017 at 02:30:16PM +0530, Abhishek Shah wrote: > > On a similar note, we also break CMB usage in virutalization with direct > > assigned devices: the guest doesn't know the host physical bus address, > > so it sets the CMB queue address incorrectly there, too. I don't know of > > a

Re: [PATCH] nvme-pci: Use PCI bus address for data/queues in CMB

2017-10-03 Thread Keith Busch
On Sat, Sep 30, 2017 at 02:30:16PM +0530, Abhishek Shah wrote: > > On a similar note, we also break CMB usage in virutalization with direct > > assigned devices: the guest doesn't know the host physical bus address, > > so it sets the CMB queue address incorrectly there, too. I don't know of > > a

Re: [PATCH v2] nvme-pci: Use PCI bus address for data/queues in CMB

2017-10-02 Thread Keith Busch
on a report and previous patch from Abhishek Shah. > > Fixes: 8ffaadf7 ("NVMe: Use CMB for the IO SQes if available") > Cc: sta...@vger.kernel.org > Reported-by: Abhishek Shah <abhishek.s...@broadcom.com> > Signed-off-by: Christoph Hellwig <h...@lst.de> This looks good. Reviewed-by: Keith Busch <keith.bu...@intel.com>

Re: [PATCH v2] nvme-pci: Use PCI bus address for data/queues in CMB

2017-10-02 Thread Keith Busch
us patch from Abhishek Shah. > > Fixes: 8ffaadf7 ("NVMe: Use CMB for the IO SQes if available") > Cc: sta...@vger.kernel.org > Reported-by: Abhishek Shah > Signed-off-by: Christoph Hellwig This looks good. Reviewed-by: Keith Busch

Re: [PATCH 1/2] block: genhd: add device_add_disk_with_groups

2017-09-29 Thread Keith Busch
groups > and adds them to the device before sending out uevents. > > Signed-off-by: Martin Wilck <mwi...@suse.com> Is NVMe the only one having this problem? Was putting our attributes in the disk's kobj a bad choice? Any, looks fine to me. Reviewed-by: Keith Busch <keith.bu...@intel.com>

Re: [PATCH 1/2] block: genhd: add device_add_disk_with_groups

2017-09-29 Thread Keith Busch
groups > and adds them to the device before sending out uevents. > > Signed-off-by: Martin Wilck Is NVMe the only one having this problem? Was putting our attributes in the disk's kobj a bad choice? Any, looks fine to me. Reviewed-by: Keith Busch

Re: [PATCH 2/2] nvme: use device_add_disk_with_groups()

2017-09-29 Thread Keith Busch
lt;mwi...@suse.com> Looks good. Reviewed-by: Keith Busch <keith.bu...@intel.com>

Re: [PATCH 2/2] nvme: use device_add_disk_with_groups()

2017-09-29 Thread Keith Busch
ck Looks good. Reviewed-by: Keith Busch

Re: [PATCH] nvme-pci: Use PCI bus address for data/queues in CMB

2017-09-29 Thread Keith Busch
On Fri, Sep 29, 2017 at 10:59:26AM +0530, Abhishek Shah wrote: > Currently, NVMe PCI host driver is programming CMB dma address as > I/O SQs addresses. This results in failures on systems where 1:1 > outbound mapping is not used (example Broadcom iProc SOCs) because > CMB BAR will be progammed

Re: [PATCH] nvme-pci: Use PCI bus address for data/queues in CMB

2017-09-29 Thread Keith Busch
On Fri, Sep 29, 2017 at 10:59:26AM +0530, Abhishek Shah wrote: > Currently, NVMe PCI host driver is programming CMB dma address as > I/O SQs addresses. This results in failures on systems where 1:1 > outbound mapping is not used (example Broadcom iProc SOCs) because > CMB BAR will be progammed

Re: [PATCH] nvme: use menu Kconfig interface

2017-09-25 Thread Keith Busch
ess cluttered (easier to read) > and keeps all of these symbols grouped together. > > Signed-off-by: Randy Dunlap <rdun...@infradead.org> Thanks, looks good. Reviewed-by: Keith Busch <keith.bu...@intel.com>

Re: [PATCH] nvme: use menu Kconfig interface

2017-09-25 Thread Keith Busch
> and keeps all of these symbols grouped together. > > Signed-off-by: Randy Dunlap Thanks, looks good. Reviewed-by: Keith Busch

Re: [PATCH] pciehp: Fix infinite interupt handler loop

2017-08-15 Thread Keith Busch
On Tue, Aug 15, 2017 at 01:48:25PM -0700, Bjorn Helgaas wrote: > On Mon, Aug 14, 2017 at 06:11:23PM -0400, Keith Busch wrote: > > On Mon, Aug 14, 2017 at 03:59:48PM -0500, Bjorn Helgaas wrote: > > > On Tue, Aug 01, 2017 at 03:11:52AM -0400, Keith Busch wrote: > > > >

Re: [PATCH] pciehp: Fix infinite interupt handler loop

2017-08-15 Thread Keith Busch
On Tue, Aug 15, 2017 at 01:48:25PM -0700, Bjorn Helgaas wrote: > On Mon, Aug 14, 2017 at 06:11:23PM -0400, Keith Busch wrote: > > On Mon, Aug 14, 2017 at 03:59:48PM -0500, Bjorn Helgaas wrote: > > > On Tue, Aug 01, 2017 at 03:11:52AM -0400, Keith Busch wrote: > > > >

Re: [PATCH] pciehp: Fix infinite interupt handler loop

2017-08-14 Thread Keith Busch
On Mon, Aug 14, 2017 at 03:59:48PM -0500, Bjorn Helgaas wrote: > On Tue, Aug 01, 2017 at 03:11:52AM -0400, Keith Busch wrote: > > We've encountered a particular platform that under some circumstances > > always has the power fault detected status raised. The pciehp irq handler

Re: [PATCH] pciehp: Fix infinite interupt handler loop

2017-08-14 Thread Keith Busch
On Mon, Aug 14, 2017 at 03:59:48PM -0500, Bjorn Helgaas wrote: > On Tue, Aug 01, 2017 at 03:11:52AM -0400, Keith Busch wrote: > > We've encountered a particular platform that under some circumstances > > always has the power fault detected status raised. The pciehp irq handler

Re: [PATCH 1/3] MAINTAINERS: Add Jonathan Derrick as VMD maintainer

2017-08-11 Thread Keith Busch
On Mon, Aug 07, 2017 at 01:57:11PM -0600, Jon Derrick wrote: > Add myself as VMD maintainer > > Signed-off-by: Jon Derrick <jonathan.derr...@intel.com> Thanks for adding. Acked-by: Keith Busch <keith.bu...@intel.com> > --- > MAINTAINERS | 1 + > 1 file cha

Re: [PATCH 1/3] MAINTAINERS: Add Jonathan Derrick as VMD maintainer

2017-08-11 Thread Keith Busch
On Mon, Aug 07, 2017 at 01:57:11PM -0600, Jon Derrick wrote: > Add myself as VMD maintainer > > Signed-off-by: Jon Derrick Thanks for adding. Acked-by: Keith Busch > --- > MAINTAINERS | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/MAINTAINERS b/MAI

Re: [PATCH v2] nvme: Fix nvme reset command timeout handling

2017-08-10 Thread Keith Busch
On Thu, Aug 10, 2017 at 11:23:31AM +0200, Johannes Thumshirn wrote: > From: Keith Busch <keith.bu...@intel.com> > > We need to return an error if a timeout occurs on any NVMe command during > initialization. Without this, the nvme reset work will be stuck. A timeout > will

Re: [PATCH v2] nvme: Fix nvme reset command timeout handling

2017-08-10 Thread Keith Busch
On Thu, Aug 10, 2017 at 11:23:31AM +0200, Johannes Thumshirn wrote: > From: Keith Busch > > We need to return an error if a timeout occurs on any NVMe command during > initialization. Without this, the nvme reset work will be stuck. A timeout > will have a negative error code,

Re: [PATCH v2 00/13] mpt3sas driver NVMe support:

2017-08-08 Thread Keith Busch
On Tue, Aug 08, 2017 at 12:33:40PM +0530, Sreekanth Reddy wrote: > On Tue, Aug 8, 2017 at 9:34 AM, Keith Busch <keith.bu...@intel.com> wrote: > > > > It looks like they can make existing nvme tooling work with little > > effort if they have the driver impleme

<    4   5   6   7   8   9   10   11   12   13   >