kernel BUG at nvme/host/pci.c

Scott Bauer scott.bauer at intel.com
Tue Jul 11 12:44:00 PDT 2017


On Tue, Jul 11, 2017 at 03:45:24PM -0400, Keith Busch wrote:
> On Tue, Jul 11, 2017 at 09:44:47AM +0200, Andreas Pflug wrote:
> > Tested with 4.12.0, result is
> > 
> >   kernel BUG at drivers/nvme/host/pci.c:610!
> > 
> > Kernel seems to recover from that, but I did a reboot anyway.
>  
> Ugh, still observing invalid scatter lists on 4.12. Definitely recommend
> rebooting after hitting this.
> 
> There should only be two possibilities: either the block layer didn't
> split a bio that it should have, or it merged two that it shouldn't. To
> determine which, could disable merging for NVMe before running your
> test? Something like this should accomplish that:
> 
>   # echo 1 | tee /sys/block/nvme*/queue/nomerge
> 
> On a side note, I think we should make the BUG_ON a WARN_ON, and return
> an IO error. While it'd fail IO, it should leave the system stable to
> do more prodding.

FWIW I agree that switching the BUG_ON to WARN_ON is a good idea.
Linus has ranted numerous times for BUG_ON'ing when a WARN_ON will do.
http://lkml.iu.edu/hypermail/linux/kernel/1610.0/00878.html









More information about the Linux-nvme mailing list