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

2018-03-23 Thread Srinath Mannam
el@vger.kernel.org; bhelg...@google.com; linux-...@vger.kernel.org; Pierre-Yves Kerbrat <pkerb...@kalray.eu>; Srinath Mannam <srinath.man...@broadcom.com> Subject: Re: [RFC PATCH] nvme: avoid race-conditions when enabling devices > On Wed, Mar 21, 2018 at 05:10:56PM +0100, Marta Rybczy

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

2018-03-23 Thread Srinath Mannam
; Srinath Mannam Subject: Re: [RFC PATCH] nvme: avoid race-conditions when enabling devices > On Wed, Mar 21, 2018 at 05:10:56PM +0100, Marta Rybczynska wrote: >> >> The problem may happen also with other device doing its probe and >> nvme running its workqueue (and

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

2018-03-23 Thread Marta Rybczynska
, > linux-kernel@vger.kernel.org, bhelg...@google.com, linux-...@vger.kernel.org, > "Pierre-Yves Kerbrat" > <pkerb...@kalray.eu> > Envoyé: Mercredi 21 Mars 2018 17:10:56 > Objet: Re: [RFC PATCH] nvme: avoid race-conditions when enabling devices >> On Wed, Mar

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

2018-03-23 Thread Marta Rybczynska
nel.org, > "Pierre-Yves Kerbrat" > > Envoyé: Mercredi 21 Mars 2018 17:10:56 > Objet: Re: [RFC PATCH] nvme: avoid race-conditions when enabling devices >> On Wed, Mar 21, 2018 at 11:48:09PM +0800, Ming Lei wrote: >>> On Wed, Mar 21, 2018 at 01:10:31PM +0100, Marta Ry

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

2018-03-23 Thread Marta Rybczynska
> On Wed, Mar 21, 2018 at 05:10:56PM +0100, Marta Rybczynska wrote: >> >> The problem may happen also with other device doing its probe and >> nvme running its workqueue (and we probably have seen it in practice >> too). We were thinking about a lock in the pci generic code too, >> that's why

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

2018-03-23 Thread Marta Rybczynska
> On Wed, Mar 21, 2018 at 05:10:56PM +0100, Marta Rybczynska wrote: >> >> The problem may happen also with other device doing its probe and >> nvme running its workqueue (and we probably have seen it in practice >> too). We were thinking about a lock in the pci generic code too, >> that's why

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

2018-03-21 Thread Bjorn Helgaas
[+cc Srinath] On Wed, Mar 21, 2018 at 05:10:56PM +0100, Marta Rybczynska wrote: > > 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: > >> > >>

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

2018-03-21 Thread Bjorn Helgaas
[+cc Srinath] On Wed, Mar 21, 2018 at 05:10:56PM +0100, Marta Rybczynska wrote: > > 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: > >> > >>

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

2018-03-21 Thread Marta Rybczynska
> 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 >> >

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

2018-03-21 Thread Marta Rybczynska
> 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 >> >

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

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

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

2018-03-21 Thread Ming Lei
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 device. When multiple NVMe devices are initialized, their reset > >>

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

2018-03-21 Thread Ming Lei
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 device. When multiple NVMe devices are initialized, their reset > >>

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

2018-03-21 Thread Marta Rybczynska
> 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 device. When multiple NVMe devices are initialized, their reset >> works may be scheduled in parallel. Then pci_enable_device_mem can be >>

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

2018-03-21 Thread Marta Rybczynska
> 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 device. When multiple NVMe devices are initialized, their reset >> works may be scheduled in parallel. Then pci_enable_device_mem can be >>

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

2018-03-21 Thread Ming Lei
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 device. When multiple NVMe devices are initialized, their reset > works may be scheduled in parallel. Then pci_enable_device_mem can be > called

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

2018-03-21 Thread Ming Lei
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 device. When multiple NVMe devices are initialized, their reset > works may be scheduled in parallel. Then pci_enable_device_mem can be > called

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

2018-03-21 Thread Marta Rybczynska
NVMe driver uses threads for the work at device reset, including enabling the PCIe device. When multiple NVMe devices are initialized, their reset works may be scheduled in parallel. Then pci_enable_device_mem can be called in parallel on multiple cores. This causes a loop of enabling of all

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

2018-03-21 Thread Marta Rybczynska
NVMe driver uses threads for the work at device reset, including enabling the PCIe device. When multiple NVMe devices are initialized, their reset works may be scheduled in parallel. Then pci_enable_device_mem can be called in parallel on multiple cores. This causes a loop of enabling of all