Re: [PATCH RFC 2/2] NVMe: rfc blk-mq support

2013-10-08 Thread Keith Busch
On Tue, 8 Oct 2013, Matias Bjørling wrote: Convert the driver to blk mq. The patch consists of: * Initializion of mq data structures. * Convert function calls from bio to request data structures. * IO queues are split into an admin queue and io queues. * bio splits are removed as it should be h

Re: [PATCH RFC 0/2] Convert from bio-based to blk-mq

2013-10-09 Thread Keith Busch
On Tue, 8 Oct 2013, Jens Axboe wrote: On Tue, Oct 08 2013, Matthew Wilcox wrote: On Tue, Oct 08, 2013 at 11:34:20AM +0200, Matias Bjørling wrote: The nvme driver implements itself as a bio-based driver. This primarily because of high lock congestion for high-performance nvm devices. To remove t

Re: [PATCH RFC 00/21] blk-mq: Introduce combined hardware queues

2016-09-20 Thread Keith Busch
On Mon, Sep 19, 2016 at 12:38:05PM +0200, Alexander Gordeev wrote: > On Fri, Sep 16, 2016 at 05:04:48PM -0400, Keith Busch wrote: > > > Having a 1:1 already seemed like the ideal solution since you can't > > simultaneously utilize more than that from the host, so

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

2016-06-20 Thread Keith Busch
On Sun, Jun 19, 2016 at 04:06:31PM -0700, Jethro Beekman wrote: > 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 anyt

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

2016-06-20 Thread Keith Busch
On Mon, Jun 20, 2016 at 11:21:09AM -0700, Jethro Beekman wrote: > On 20-06-16 08:26, Keith Busch wrote: > > Would this just be a matter of setting req->retries and checking for it in > nvme_req_needs_retry? How does one keep track of the number of tries so far? I just sent a pa

Re: [PATCH v4 0/3] nvme power saving

2016-09-22 Thread Keith Busch
On Thu, Sep 22, 2016 at 02:33:36PM -0700, J Freyensee wrote: > ...and some SSDs don't even support this feature yet, so the number of > different NVMe devices available to test initially will most likely be > small (like the Fultondales I have, all I could check is to see if the > code broke anythi

Re: [PATCHv3 2/2] x86/vmd: Add PCI domain specific LED option

2016-09-23 Thread Keith Busch
On Fri, Sep 23, 2016 at 09:34:41AM -0500, Bjorn Helgaas wrote: > I made the necessary changes to match the renaming I did in the first > patch, and I also used plain old "#ifdef" instead of "#if IS_ENABLED" > since the rest of the file uses the former style. If there's a reason > to switch, we sho

Re: [PATCHv3 2/2] x86/vmd: Add PCI domain specific LED option

2016-09-23 Thread Keith Busch
On Fri, Sep 23, 2016 at 02:12:23PM -0500, Bjorn Helgaas wrote: > BTW, the "Volume Management Device Driver" config item appears by > itself in the top-level menuconfig menu. That seems a little ... > presumptuous; is it what you intended? Not really intended, but I didn't really know any better a

Re: [PATCH -next] PCI/PCIe: make DPC explicitly non-modular

2016-07-28 Thread Keith Busch
se, the init ordering remains unchanged with this commit. > > We also delete the MODULE_LICENSE tag etc. since all that information > was (or is now) contained at the top of the file in the comments. Thanks for cleaning this up. FWIW, all of the other pcie service drivers look like they could use the same cleanup. Reviewed-by: Keith Busch

Re: [PATCH] nvme/quirk: Add a delay before checking device ready for memblaze device

2016-09-08 Thread Keith Busch
On Thu, Sep 08, 2016 at 11:36:34AM +0800, Wang Weber wrote: > Hi Jens, > > The following email was sent before, but it seems to be blocked since I > received some messages about sending failure. So resend it with Google > email account. You're still sending non plain text email, so it's going to

[PATCHv3 1/2] pciehp: Let user control LED status

2016-09-13 Thread Keith Busch
repurpose these control bits for non-standard use. Signed-off-by: Keith Busch --- v2 -> v3: Moved the slot op's attention status callback to pciehp_hpc.c drivers/pci/hotplug/pciehp.h | 5 + drivers/pci/hotplug/pciehp_core.c | 3 +++ drivers/pci/hotplug/pciehp_hpc

[PATCHv3 2/2] x86/vmd: Add PCI domain specific LED option

2016-09-13 Thread Keith Busch
us is within a PCI domain, the patch appends a bool to the pci_sysdata structure that the VMD driver sets during initialization. Requested-by: Kapil Karkra Tested-by: Artur Paszkiewicz Signed-off-by: Keith Busch --- No change from previous version of this patch; just part of the series. arc

Re: [PATCHv3 1/2] pciehp: Let user control LED status

2016-09-13 Thread Keith Busch
On Tue, Sep 13, 2016 at 09:05:39AM -0600, Keith Busch wrote: > +int pciehp_get_raw_attention_status(struct hotplug_slot *hotplug_slot, > + u8 *value) > +{ > + struct slot *slot = hotplug_slot->private; > + st

Re: blk-mq: allow passing in an external queue mapping V3

2016-09-15 Thread Keith Busch
ing the driver > to pass in such a mask obtained from the (PCI) interrupt code. To fully > support this feature in drivers the final third in the PCI layer will > be needed as well. Thanks, this looks good and tests successfully on my hardware. For the series: Reviewed-by: Keith Busch

Re: NVME regression in all kernels after 4.4.x for NVME in M2 slot for laptop?

2016-08-05 Thread Keith Busch
On Fri, Aug 05, 2016 at 12:03:23PM -0700, Marc MERLIN wrote: > Would this patch make sense as being the reason why I can't S3 sleep > anymore and would you have a test patch against 4.5, 4.6, or 4.7 I can > try to see if it fixes the problem? Hi Marc, It might be blk-mq's hot cpu notifier is invo

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

2016-08-26 Thread Keith Busch
On Fri, Aug 26, 2016 at 04:35:57PM +0200, Christoph Hellwig wrote: > On Fri, Aug 26, 2016 at 07:31:33AM -0700, Andy Lutomirski wrote: > > - Consider *deleting* the SCSI translation layer's power saving code. > > It looks almost entirely bogus to me. It has an off-by-one in its > > NPSS handling,

Re: [patch 15/55] PCI: vmd: Create named irq domain

2017-06-20 Thread Keith Busch
On Tue, Jun 20, 2017 at 01:37:15AM +0200, Thomas Gleixner wrote: > static int vmd_enable_domain(struct vmd_dev *vmd) > { > struct pci_sysdata *sd = &vmd->sysdata; > + struct fwnode_handle *fn; > struct resource *res; > u32 upper_bits; > unsigned long flags; > @@ -617,8

Re: [patch 32/55] x86/irq: Restructure fixup_irqs()

2017-06-20 Thread Keith Busch
On Tue, Jun 20, 2017 at 01:37:32AM +0200, Thomas Gleixner wrote: > @@ -441,18 +440,27 @@ void fixup_irqs(void) > > for_each_irq_desc(irq, desc) { > const struct cpumask *affinity; > - int break_affinity = 0; > - int set_affinity = 1; > + boo

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

2017-05-26 Thread Keith Busch
On Wed, May 24, 2017 at 05:26:25PM +0300, Rakesh Pandit wrote: > Commit c5f6ce97c1210 tries to address multiple resets but fails as > work_busy doesn't involve any synchronization and can fail. This is > reproducible easily as can be seen by WARNING below which is triggered > with line: > > WARN_

Re: [PATCH 2/2] nvme: Quirk APST on Intel 600P/P3100 devices

2017-05-30 Thread Keith Busch
On Wed, May 24, 2017 at 03:06:31PM -0700, Andy Lutomirski wrote: > They have known firmware bugs. A fix is apparently in the works -- > once fixed firmware is available, someone from Intel (Hi, Keith!) > can adjust the quirk accordingly. Here's the latest firmware with all the known fixes: htt

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 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-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 construct

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

Re: [RFC PATCHv2] x86/pci: Initial commit for new VMD device driver

2015-10-05 Thread Keith Busch
On Sat, 3 Oct 2015, Ingo Molnar wrote: * Keith Busch wrote: +config VMDDEV + depends on PCI && PCI_DOMAINS && PCI_MSI && GENERIC_MSI_IRQ_DOMAIN && IRQ_DOMAIN_HIERARCHY + tristate "Volume Management Device Driver" + default N

Re: [RFC PATCHv2] x86/pci: Initial commit for new VMD device driver

2015-10-05 Thread Keith Busch
On Mon, 5 Oct 2015, Ingo Molnar wrote: * Keith Busch wrote: The immediate benefit is that devices on VMD domains do not use resources on the default PCI domain, so we have more than the 256 buses available. Would be nice to incorporate that information in the help text and in the changelog

Re: [RFC PATCHv2] x86/pci: Initial commit for new VMD device driver

2015-10-06 Thread Keith Busch
Hi Bjorn, Thanks for the feedback. Much of the issues you mentioned look pretty straight forward to resolve, and will fix of for the next revision. I have some immediate follow up comments to two issues you brought up: On Tue, 6 Oct 2015, Bjorn Helgaas wrote: +static int vmd_find_free_domain(v

Re: [RFC PATCHv2] x86/pci: Initial commit for new VMD device driver

2015-10-07 Thread Keith Busch
On Tue, 6 Oct 2015, Keith Busch wrote: On Tue, 6 Oct 2015, Bjorn Helgaas wrote: + resource_list_for_each_entry(entry, &resources) { + struct resource *source, *resource = entry->res; + + if (!i) { + resource->

[RFC PATCH 1/2] x86: PCI bus specific MSI operations

2015-08-27 Thread Keith Busch
This patch adds struct x86_msi_ops to x86's PCI sysdata. This gives a host bridge driver the option to provide alternate MSI Data Register and MSI-X Table Entry programming for devices in PCI domains that do not subscribe to usual "IOAPIC" format. Signed-off-by: Keith Busch CC:

[RFC PATCH 0/2] Driver for new PCI-e device

2015-08-27 Thread Keith Busch
s the VMD domain using the root bus configuration interface provided by the PCI subsystem. CC: Bryan Veal CC: Dan Williams CC: x...@kernel.org CC: linux-kernel@vger.kernel.org CC: linux-...@vger.kernel.org Keith Busch (2): x86: PCI bus specific MSI operations x86/pci: Initial commit for ne

[RFC PATCH 2/2] x86/pci: Initial commit for new VMD device driver

2015-08-27 Thread Keith Busch
low VMD-owned root ports, or VMD should be disabled by BIOS for such enpdoints. Contributers to this patch include: Artur Paszkiewicz Bryan Veal Jon Derrick Signed-off-by: Keith Busch CC: Bryan Veal CC: Dan Williams CC: x...@kernel.org CC: linux-kernel@vger.kernel.org CC: linux-...@vg

Re: [RFC PATCH 1/2] x86: PCI bus specific MSI operations

2015-08-28 Thread Keith Busch
On Fri, 28 Aug 2015, Thomas Gleixner wrote: On Thu, 27 Aug 2015, Keith Busch wrote: This patch adds struct x86_msi_ops to x86's PCI sysdata. This gives a host bridge driver the option to provide alternate MSI Data Register and MSI-X Table Entry programming for devices in PCI domains th

[PATCH] Regulator: Suppress compiler warnings

2015-08-31 Thread Keith Busch
though, and only uses the variables if they were successfully set, so suppressing the warning with uninitialized_val. Signed-off-by: Keith Busch --- drivers/regulator/helpers.c |6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/regulator/helpers.c b/drivers/regulator

Re: [PATCH] Regulator: Suppress compiler warnings

2015-09-01 Thread Keith Busch
On Tue, 1 Sep 2015, Mark Brown wrote: On Tue, Sep 01, 2015 at 09:52:13AM +0900, Krzysztof Kozlowski wrote: 2015-09-01 1:41 GMT+09:00 Keith Busch : int regulator_is_enabled_regmap(struct regulator_dev *rdev) { - unsigned int val; + unsigned int uninitialized_var(val); int

Re: [RFC PATCHv2] x86/pci: Initial commit for new VMD device driver

2015-10-12 Thread Keith Busch
On Tue, 6 Oct 2015, Bjorn Helgaas wrote: +static int __init vmd_init(void) +{ + return pci_register_driver(&vmd_drv); +} +module_init(vmd_init); module_pci_driver(vmd_drv)? We actually only have a module_init in this driver, and purposely left out module_exit. We don't want to be able t

Re: [PATCH v6 05/11] block: remove split code in blkdev_issue_{discard,write_same}B

2015-10-14 Thread Keith Busch
On Wed, 14 Oct 2015, Christoph Hellwig wrote: Analsys and tentativ fix below: blktrace for before the commit: 259,012 0.02543 2394 G D 0 + 8388607 [mkfs.xfs] 259,013 0.08230 2394 I D 0 + 8388607 [mkfs.xfs] 259,014 0.31090 207

Re: [PATCH] blk-mq: fix use-after-free in blk_mq_free_tag_set()

2015-10-15 Thread Keith Busch
tural to free cpumask in its counter part, blk_mq_free_tags(). Thanks for the fix. Reviewed-by: Keith Busch Fixes: f26cdc8536ad ("blk-mq: Shared tag enhancements") Signed-off-by: Jun'ichi Nomura Cc: Keith Busch Cc: Jens Axboe -- To unsubscribe from this list: send the line "

[PATCH] blk-integrity: empty imlpementation when disabled

2015-10-26 Thread Keith Busch
epeat the same configuration checks. Signed-off-by: Keith Busch --- include/linux/bio.h | 32 ++-- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/include/linux/bio.h b/include/linux/bio.h index b9b6e04..f0c46d0 100644 --- a/include/linux/bio.h

[PATCHv2] blk-integrity: empty implementation when disabled

2015-10-26 Thread Keith Busch
epeat the same configuration checks. Signed-off-by: Keith Busch --- v1 -> v2: Fixed corrupted patch and subject line spelling error include/linux/bio.h | 32 ++-- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/include/linux/bio.h b/include/lin

[RFC PATCHv2] x86/pci: Initial commit for new VMD device driver

2015-10-01 Thread Keith Busch
eatures should either not be placed below VMD-owned root ports, or VMD should be disabled by BIOS for such endpoints. Contributers to this patch include: Artur Paszkiewicz Bryan Veal Jon Derrick Signed-off-by: Keith Busch --- v1 -> v2: The original RFC used custom x86_msi_ops

Re: [PATCH V2] nvme-pci: move nvme_kill_queues to nvme_remove_dead_ctrl

2018-06-21 Thread Keith Busch
->ctrl); > if (pci_get_drvdata(pdev)) > device_release_driver(&pdev->dev); > nvme_put_ctrl(&dev->ctrl); Looks good to me. Reviewed-by: Keith Busch

Re: [PATCH 2/2] PCI: NVMe device specific reset quirk

2018-07-23 Thread Keith Busch
On Mon, Jul 23, 2018 at 04:24:31PM -0600, Alex Williamson wrote: > Take advantage of NVMe devices using a standard interface to quiesce > the controller prior to reset, including device specific delays before > and after that reset. This resolves several NVMe device assignment > scenarios with two

Re: Report long suspend times of NVMe devices (mostly firmware/device issues)

2018-01-24 Thread Keith Busch
On Wed, Jan 24, 2018 at 11:29:12PM +0100, Paul Menzel wrote: > Am 22.01.2018 um 22:30 schrieb Keith Busch: > > The nvme spec guides toward longer times than that. I don't see the > > point of warning users about things operating within spec. > > I quickly glanced ove

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

2018-01-25 Thread Keith Busch
. > > Suggested-by: James Smart > Reviewed-by: James Smart > Signed-off-by: Jianchao Wang This looks fine. Thank you for your patience. Reviewed-by: Keith Busch

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 has

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: use NOWAIT flag for nvme_set_host_mem

2018-01-30 Thread Keith Busch
On Tue, Jan 30, 2018 at 11:41:07AM +0800, jianchao.wang wrote: > Another point that confuses me is that whether nvme_set_host_mem is necessary > in nvme_dev_disable ? > As the comment: > > /* >* If the controller is still alive tell it to stop using the >

Re: [PATCH] PCI/DPC: Fix INT legacy interrupt in dpc_irq

2018-01-31 Thread Keith Busch
with current code we do not acknowledge the > interrupt and we get dpc interrupt storm. > This patch acknowledges the interrupt in interrupt handler. > > Signed-off-by: Oza Pawandeep Thanks, looks good to me. Reviewed-by: Keith Busch

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 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 NVME_CTRL_RECONNECTIN

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 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 > -> nvme_cance

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 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(&q->timeout_work) should be ok. I agree flushing timeout_work is sufficient. All the other work had already better not be run

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 scheduled

Re: Report long suspend times of NVMe devices (mostly firmware/device issues)

2018-01-22 Thread Keith Busch
On Mon, Jan 22, 2018 at 10:02:12PM +0100, Paul Menzel wrote: > Dear Linux folks, > > > Benchmarking the ACPI S3 suspend and resume times with `sleepgraph.py > -config config/suspend-callgraph.cfg` [1], shows that the NVMe disk SAMSUNG > MZVKW512HMJP-0 in the TUXEDO Book BU1406 takes between 0

Re: [PATCH] nvme-pci: ensure nvme_timeout complete before initializing procedure

2018-01-22 Thread Keith Busch
On Mon, Jan 22, 2018 at 09:14:23PM +0100, Christoph Hellwig wrote: > > Link: https://lkml.org/lkml/2018/1/19/68 > > Suggested-by: Keith Busch > > Signed-off-by: Keith Busch > > Signed-off-by: Jianchao Wang > > Why does this have a signoff from Keith? Right, I

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 && dev

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. Tha

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 you're

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

2018-01-29 Thread Keith Busch
On Mon, Jan 29, 2018 at 11:07:35AM +0800, Jianchao Wang wrote: > nvme_set_host_mem will invoke nvme_alloc_request without NOWAIT > flag, it is unsafe for nvme_dev_disable. The adminq driver tags > may have been used up when the previous outstanding adminq requests > cannot be completed due to some

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

2018-01-29 Thread Keith Busch
On Mon, Jan 29, 2018 at 09:55:41PM +0200, Sagi Grimberg wrote: > > 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 indef

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

2018-01-16 Thread Keith Busch
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: [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 NVMe

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: [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 v3 2/2] nvme: add tracepoint for nvme_complete_rq

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

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: [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 wdep

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

2018-01-09 Thread Keith Busch
before commit 6bfe04255d5e ("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 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. :)

[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 c

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 kworker/u674:3

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 se

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 fast

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

2018-03-12 Thread Keith Busch
On Sun, Mar 11, 2018 at 11:03:58PM -0400, Sinan Kaya wrote: > On 3/11/2018 6:03 PM, Bjorn Helgaas wrote: > > On Wed, Feb 28, 2018 at 10:34:11PM +0530, Oza Pawandeep wrote: > > > That difference has been there since the beginning of DPC, so it has > > nothing to do with *this* series EXCEPT for the

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

2018-03-12 Thread Keith Busch
On Mon, Mar 12, 2018 at 08:16:38PM +0530, p...@codeaurora.org wrote: > On 2018-03-12 19:55, Keith Busch wrote: > > On Sun, Mar 11, 2018 at 11:03:58PM -0400, Sinan Kaya wrote: > > > On 3/11/2018 6:03 PM, Bjorn Helgaas wrote: > > > > On Wed, Feb 28, 2018 at 10:34:1

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

2018-03-12 Thread Keith Busch
On Mon, Mar 12, 2018 at 09:04:47PM +0530, p...@codeaurora.org wrote: > On 2018-03-12 20:28, Keith Busch wrote: > > I'm not sure I understand. The link is disabled while DPC is triggered, > > so if anything, you'd want to un-enumerate everything below the > > containe

Re: [pci PATCH v5 1/4] pci: Add pci_sriov_configure_simple for PFs that don't manage VF resources

2018-03-12 Thread Keith Busch
On Mon, Mar 12, 2018 at 10:21:29AM -0700, Alexander Duyck wrote: > diff --git a/include/linux/pci.h b/include/linux/pci.h > index 024a1beda008..9cab9d0d51dc 100644 > --- a/include/linux/pci.h > +++ b/include/linux/pci.h > @@ -1953,6 +1953,7 @@ static inline void pci_mmcfg_late_init(void) { } > int

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

2018-03-12 Thread Keith Busch
On Mon, Mar 12, 2018 at 01:41:07PM -0400, Sinan Kaya wrote: > I was just writing a reply to you. You acted first :) > > On 3/12/2018 1:33 PM, Keith Busch wrote: > >>> After releasing a slot from DPC, the link is allowed to retrain. If > >>> there > >>

Re: [pci PATCH v5 1/4] pci: Add pci_sriov_configure_simple for PFs that don't manage VF resources

2018-03-12 Thread Keith Busch
On Mon, Mar 12, 2018 at 11:09:34AM -0700, Alexander Duyck wrote: > On Mon, Mar 12, 2018 at 10:40 AM, Keith Busch wrote: > > On Mon, Mar 12, 2018 at 10:21:29AM -0700, Alexander Duyck wrote: > >> diff --git a/include/linux/pci.h b/include/linux/pci.h > >> index 024a1b

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

2018-03-12 Thread Keith Busch
Hi Jianchao, The patch tests fine on all hardware I had. I'd like to queue this up for the next 4.16-rc. Could you send a v3 with the cleanup changes Andy suggested and a changelog aligned with Ming's insights? Thanks, Keith

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

2018-03-12 Thread Keith Busch
On Mon, Mar 12, 2018 at 02:47:30PM -0500, Bjorn Helgaas wrote: > [+cc Alex] > > On Mon, Mar 12, 2018 at 08:25:51AM -0600, Keith Busch wrote: > > On Sun, Mar 11, 2018 at 11:03:58PM -0400, Sinan Kaya wrote: > > > On 3/11/2018 6:03 PM, Bjorn Helgaas wrote: > > > >

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

2018-03-05 Thread Keith Busch
On Mon, Mar 05, 2018 at 12:33:29PM +1100, Oliver wrote: > On Thu, Mar 1, 2018 at 10:40 AM, Logan Gunthorpe wrote: > > @@ -429,10 +429,7 @@ static void __nvme_submit_cmd(struct nvme_queue *nvmeq, > > { > > u16 tail = nvmeq->sq_tail; > > > - if (nvmeq->sq_cmds_io) > > -

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

2018-03-05 Thread Keith Busch
On Mon, Mar 05, 2018 at 01:10:53PM -0700, Jason Gunthorpe wrote: > So when reading the above mlx code, we see the first wmb() being used > to ensure that CPU stores to cachable memory are visible to the DMA > triggered by the doorbell ring. IIUC, we don't need a similar barrier for NVMe to ensure

Re: [PATCH v13 6/6] PCI/DPC: Do not do recovery for hotplug enabled system

2018-04-12 Thread Keith Busch
On Thu, Apr 12, 2018 at 10:34:37AM -0400, Sinan Kaya wrote: > On 4/12/2018 10:06 AM, Bjorn Helgaas wrote: > > > > I think the scenario you are describing is two systems that are > > identical except that in the first, the endpoint is below a hotplug > > bridge, while in the second, it's below a no

Re: [PATCH v13 6/6] PCI/DPC: Do not do recovery for hotplug enabled system

2018-04-12 Thread Keith Busch
On Thu, Apr 12, 2018 at 08:39:54AM -0600, Keith Busch wrote: > On Thu, Apr 12, 2018 at 10:34:37AM -0400, Sinan Kaya wrote: > > On 4/12/2018 10:06 AM, Bjorn Helgaas wrote: > > > > > > I think the scenario you are describing is two systems that are > > > ide

Re: [PATCH v13 6/6] PCI/DPC: Do not do recovery for hotplug enabled system

2018-04-12 Thread Keith Busch
On Thu, Apr 12, 2018 at 12:27:20PM -0400, Sinan Kaya wrote: > On 4/12/2018 11:02 AM, Keith Busch wrote: > > > > Also, I thought the plan was to keep hotplug and non-hotplug the same, > > except for the very end: if not a hotplug bridge, initiate the rescan > > automat

Re: [PATCH] NVMe: Add Quirk Delay before CHK RDY for Seagate Nytro Flash Storage

2018-04-12 Thread Keith Busch
Thanks, applied for 4.17-rc1. I was a little surprised git was able to apply this since the patch format is off, but it worked!

Re: [PATCH 08/12] lightnvm: implement get log report chunk helpers

2018-03-21 Thread Keith Busch
On Wed, Mar 21, 2018 at 03:06:05AM -0700, Matias Bjørling wrote: > > outside of nvme core so that we can use it form lightnvm. > > > > Signed-off-by: Javier González > > --- > > drivers/lightnvm/core.c | 11 +++ > > drivers/nvme/host/core.c | 6 ++-- > > drivers/nvme/host/lightn

Re: [RFC PATCH] nvme: avoid race-conditions when enabling devices

2018-03-21 Thread Keith Busch
On Wed, Mar 21, 2018 at 11:48:09PM +0800, Ming Lei wrote: > On Wed, Mar 21, 2018 at 01:10:31PM +0100, Marta Rybczynska wrote: > > > On Wed, Mar 21, 2018 at 12:00:49PM +0100, Marta Rybczynska wrote: > > >> NVMe driver uses threads for the work at device reset, including enabling > > >> the PCIe devi

Re: [PATCH] nvme: make nvme_get_log_ext non-static

2018-03-21 Thread Keith Busch
On Wed, Mar 21, 2018 at 08:27:07PM +0100, Matias Bjørling wrote: > Enable the lightnvm integration to use the nvme_get_log_ext() > function. > > Signed-off-by: Matias Bjørling Thanks, applied to nvme-4.17.

Re: [PATCH v13 1/6] PCI/AER: Rename error recovery to generic PCI naming

2018-04-09 Thread Keith Busch
On Mon, Apr 09, 2018 at 10:41:49AM -0400, Oza Pawandeep wrote: > This patch renames error recovery to generic name with pcie prefix > > Signed-off-by: Oza Pawandeep Looks fine. Reviewed-by: Keith Busch

Re: [PATCH v13 2/6] PCI/AER: Factor out error reporting from AER

2018-04-09 Thread Keith Busch
off-by: Oza Pawandeep Looks fine. Reviewed-by: Keith Busch

Re: [PATCH v13 3/6] PCI/PORTDRV: Implement generic find service

2018-04-09 Thread Keith Busch
On Mon, Apr 09, 2018 at 10:41:51AM -0400, Oza Pawandeep wrote: > This patch implements generic pcie_port_find_service() routine. > > Signed-off-by: Oza Pawandeep Looks good. Reviewed-by: Keith Busch

Re: [PATCH v13 5/6] PCI: Unify wait for link active into generic PCI

2018-04-09 Thread Keith Busch
On Mon, Apr 09, 2018 at 10:41:53AM -0400, Oza Pawandeep wrote: > +/** > + * pcie_wait_for_link - Wait for link till it's active/inactive > + * @pdev: Bridge device > + * @active: waiting for active or inactive ? > + * > + * Use this to wait till link becomes active or inactive. > + */ > +bool pcie_

Re: [PATCH v13 4/6] PCI/DPC: Unify and plumb error handling into DPC

2018-04-09 Thread Keith Busch
On Mon, Apr 09, 2018 at 10:41:52AM -0400, Oza Pawandeep wrote: > +static int find_dpc_dev_iter(struct device *device, void *data) > +{ > + struct pcie_port_service_driver *service_driver; > + struct device **dev; > + > + dev = (struct device **) data; > + > + if (device->bus == &pci

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

2018-03-09 Thread Keith Busch
On Thu, Mar 08, 2018 at 08:42:20AM +0100, Christoph Hellwig wrote: > > So I suspect we'll need to go with a patch like this, just with a way > better changelog. I have to agree this is required for that use case. I'll run some quick tests and propose an alternate changelog. Longer term, the curr

Re: [PATCH V3] nvme-pci: assign separate irq vectors for adminq and ioq1

2018-03-13 Thread Keith Busch
On Tue, Mar 13, 2018 at 06:45:00PM +0800, Ming Lei wrote: > On Tue, Mar 13, 2018 at 05:58:08PM +0800, Jianchao Wang wrote: > > Currently, adminq and ioq1 share the same irq vector which is set > > affinity to cpu0. If a system allows cpu0 to be offlined, the adminq > > will not be able work any mor

Re: [PATCH] nvme-pci: disable APST for Samsung NVMe SSD 960 EVO + ASUS PRIME Z370-A

2018-03-14 Thread Keith Busch
Thanks, applied for 4.17.

  1   2   3   4   5   6   7   8   9   10   >