nvme-pci: Switch back to sync probe to fix rootfs mount regression

Message ID 20230124004542.29659-1-ville.syrjala@linux.intel.com
State New
Headers
Series nvme-pci: Switch back to sync probe to fix rootfs mount regression |

Commit Message

Ville Syrjälä Jan. 24, 2023, 12:45 a.m. UTC
  From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Async probe caused a regression where we fail to find the
rootfs in time, leading an unbootable machine.

rootdelay=1 can be used as a workaround but that needlessly
slows down the boot by a whole extra second.

To get the best of both worlds perhaps there should be
some kind of async probe flush/sync just before attempting
to mount the rootfs?

In the meantime just switch back to a sync probe to fix
the regression.

Cc: linux-nvme@lists.infradead.org
Cc: Christoph Hellwig <hch@lst.de>
Cc: Keith Busch <kbusch@kernel.org>
Cc: Chaitanya Kulkarni <kch@nvidia.com>
Cc: Gerd Bayer <gbayer@linux.ibm.com>
Cc: Sagi Grimberg <sagi@grimberg.me>
Cc: Jens Axboe <axboe@fb.com>
Fixes: eac3ef262941 ("nvme-pci: split the initial probe from the rest path")
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/nvme/host/pci.c | 1 -
 1 file changed, 1 deletion(-)
  

Comments

Christoph Hellwig Jan. 24, 2023, 6:21 a.m. UTC | #1
Err, no.  We're not going to randomly revert things.  If you want
to be productive check the one liner Keith reported in reply to the
last report.
  
Ville Syrjälä Jan. 24, 2023, 8:47 a.m. UTC | #2
On Tue, Jan 24, 2023 at 07:21:40AM +0100, Christoph Hellwig wrote:
> Err, no.  We're not going to randomly revert things.  If you want
> to be productive check the one liner Keith reported in reply to the
> last report.

No idea what that previous report is. Care to share a link?
  
Christoph Hellwig Jan. 24, 2023, 1:41 p.m. UTC | #3
On Tue, Jan 24, 2023 at 10:47:59AM +0200, Ville Syrjälä wrote:
> On Tue, Jan 24, 2023 at 07:21:40AM +0100, Christoph Hellwig wrote:
> > Err, no.  We're not going to randomly revert things.  If you want
> > to be productive check the one liner Keith reported in reply to the
> > last report.
> 
> No idea what that previous report is. Care to share a link?

https://lore.kernel.org/linux-nvme/849c43bc-7488-72a6-f6fc-8700639b0c79@leemhuis.info/T/#m759092f541ea29fcb41911890307e70868636a45

Patch to test:

https://lore.kernel.org/linux-nvme/849c43bc-7488-72a6-f6fc-8700639b0c79@leemhuis.info/T/#md13c22b29cd81bd0ce9167c271c582005ba30550
  
Keith Busch Jan. 24, 2023, 3:56 p.m. UTC | #4
On Tue, Jan 24, 2023 at 02:41:34PM +0100, Christoph Hellwig wrote:
> On Tue, Jan 24, 2023 at 10:47:59AM +0200, Ville Syrjälä wrote:
> > On Tue, Jan 24, 2023 at 07:21:40AM +0100, Christoph Hellwig wrote:
> > > Err, no.  We're not going to randomly revert things.  If you want
> > > to be productive check the one liner Keith reported in reply to the
> > > last report.
> > 
> > No idea what that previous report is. Care to share a link?
> 
> https://lore.kernel.org/linux-nvme/849c43bc-7488-72a6-f6fc-8700639b0c79@leemhuis.info/T/#m759092f541ea29fcb41911890307e70868636a45
> 
> Patch to test:
> 
> https://lore.kernel.org/linux-nvme/849c43bc-7488-72a6-f6fc-8700639b0c79@leemhuis.info/T/#md13c22b29cd81bd0ce9167c271c582005ba30550

I'll post the official patch if someone can let me know if it's
successful. Or I can potentially setup a VM to verify myself, but I
probably won't be able to get to that till next week.
  
Ville Syrjälä Jan. 24, 2023, 5:12 p.m. UTC | #5
On Tue, Jan 24, 2023 at 08:56:30AM -0700, Keith Busch wrote:
> On Tue, Jan 24, 2023 at 02:41:34PM +0100, Christoph Hellwig wrote:
> > On Tue, Jan 24, 2023 at 10:47:59AM +0200, Ville Syrjälä wrote:
> > > On Tue, Jan 24, 2023 at 07:21:40AM +0100, Christoph Hellwig wrote:
> > > > Err, no.  We're not going to randomly revert things.  If you want
> > > > to be productive check the one liner Keith reported in reply to the
> > > > last report.
> > > 
> > > No idea what that previous report is. Care to share a link?
> > 
> > https://lore.kernel.org/linux-nvme/849c43bc-7488-72a6-f6fc-8700639b0c79@leemhuis.info/T/#m759092f541ea29fcb41911890307e70868636a45
> > 
> > Patch to test:
> > 
> > https://lore.kernel.org/linux-nvme/849c43bc-7488-72a6-f6fc-8700639b0c79@leemhuis.info/T/#md13c22b29cd81bd0ce9167c271c582005ba30550
> 
> I'll post the official patch if someone can let me know if it's
> successful. Or I can potentially setup a VM to verify myself, but I
> probably won't be able to get to that till next week.

Appears to work here. I threw a tested-by to the original thread.
  

Patch

diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
index 1ff8843bc4b3..d0f5e93d977e 100644
--- a/drivers/nvme/host/pci.c
+++ b/drivers/nvme/host/pci.c
@@ -3514,7 +3514,6 @@  static struct pci_driver nvme_driver = {
 	.remove		= nvme_remove,
 	.shutdown	= nvme_shutdown,
 	.driver		= {
-		.probe_type	= PROBE_PREFER_ASYNCHRONOUS,
 #ifdef CONFIG_PM_SLEEP
 		.pm		= &nvme_dev_pm_ops,
 #endif