Re: Dell Latitude 7400 - nvme0: Missing interrupt

From: Warner Losh <imp_at_bsdimp.com>
Date: Sat, 21 Aug 2021 04:48:11 UTC
On Fri, Aug 20, 2021 at 10:42 PM Pavel Timofeev <timp87@gmail.com> wrote:

>  Pavel Timofeev <timp87@gmail.com>:
>
> >
> > Chuck Tuffli <ctuffli@gmail.com>:
> >
> >> On Mon, Aug 16, 2021 at 7:43 PM Pavel Timofeev <timp87@gmail.com>
> wrote:
> >> >
> >> > Hello
> >> > I've got a Dell Latitude 7400 and tried installing the latest
> >> 14.0-CURRENT
> >> > (main-n248636-d20e9e02db3) on it.
> >> > Despite other things the weird one which concerns me is
> >> >   nvme0: Missing interrupt
> >> > message I get sometimes on the console.
> >> > It seems like I get it only after the reboot of the laptop, i. e. not
> >> > getting that message if I power cycle the laptop, at least I haven't
> >> seen
> >> > them for now in such cases.
> >> > So when the laptop is rebooted I can't even take advantage of
> >> > nvmecontrol(8) quickly.
> >> > Well, it still works, but it takes tens of seconds to return the
> output.
> >> ...
> >> > dmesg when power cycled -
> >> > https://drive.google.com/file/d/1dB27oB1O2CcnZy6DvOOhmFO8SN8V8SwJ
> >> > dmesg when rebooted -
> >> > https://drive.google.com/file/d/1DsKTMkihp_OmUcirByLaVO4o2mU38Bxh
> >>
> >> I'm sort of curious about the time stamps for the log messages in the
> >> failing case. Something like:
> >>
> >> $ grep "nv\(me\|d\)" /var/log/messages
> >>
> >> --chuck
> >>
> >
> > Well, I can't see timestamps in the verbose boot log. Am I missing some
> > configuration for that?
> >
> > $ grep "nv\(me\|d\)" /var/log/messages
> > nvme0: <Generic NVMe Device> mem
> > 0xcc100000-0xcc103fff,0xcc105000-0xcc105fff,0xcc104000-0xcc104fff at
> device
> > 0.0 on pci6
> > nvme0: attempting to allocate 5 MSI-X vectors (17 supported)
> > nvme0: using IRQs 133-137 for MSI-X
> > nvme0: CapLo: 0x140103ff: MQES 1023, CQR, TO 20
> > nvme0: CapHi: 0x00000030: DSTRD 0, NSSRS, CSS 1, MPSMIN 0, MPSMAX 0
> > nvme0: Version: 0x00010300: 1.3
> > nvme0: Missing interrupt
> > nvme0: Missing interrupt
> > nvme0: Missing interrupt
> > nvme0: Missing interrupt
> > nvme0: Missing interrupt
> > nvme0: Missing interrupt
> > nvme0: Missing interrupt
> > nvme0: Missing interrupt
> > nvme0: Missing interrupt
> > nvme0: Missing interrupt
> > nvme0: Missing interrupt
> > nvme0: Missing interrupt
> > nvd0: <PC611 NVMe SK hynix 512GB> NVMe namespace
> > GEOM: new disk nvd0
> > nvd0: 488386MB (1000215216 512 byte sectors)
> >
>
>
> Ah, sorry, provided wrong output.
> Here is what you requested:
> $ grep "nv\(me\|d\)" /var/log/messages
> Aug 21 04:34:36 nostromo kernel: nvme0: <Generic NVMe Device> mem
> 0xcc100000-0xcc103fff,0xcc105000-0xcc105fff,0xcc104000-0xcc104fff at device
> 0.0 on pci6
> Aug 21 04:34:36 nostromo kernel: nvme0: attempting to allocate 5 MSI-X
> vectors (17 supported)
> Aug 21 04:34:36 nostromo kernel: nvme0: using IRQs 133-137 for MSI-X
> Aug 21 04:34:36 nostromo kernel: nvme0: CapLo: 0x140103ff: MQES 1023, CQR,
> TO 20
> Aug 21 04:34:36 nostromo kernel: nvme0: CapHi: 0x00000030: DSTRD 0, NSSRS,
> CSS 1, MPSMIN 0, MPSMAX 0
> Aug 21 04:34:36 nostromo kernel: nvme0: Version: 0x00010300: 1.3
> Aug 21 04:34:36 nostromo kernel: nvme0: Missing interrupt
> Aug 21 04:34:36 nostromo kernel: nvme0: Missing interrupt
> Aug 21 04:34:36 nostromo kernel: nvme0: Missing interrupt
> Aug 21 04:34:36 nostromo kernel: nvd0: <PC611 NVMe SK hynix 512GB> NVMe
> namespace
> Aug 21 04:34:36 nostromo kernel: GEOM: new disk nvd0
> Aug 21 04:34:36 nostromo kernel: nvd0: 488386MB (1000215216 512 byte
> sectors)
> Aug 21 04:34:42 nostromo kernel: nvme0: Missing interrupt
> Aug 21 04:35:36 nostromo kernel: nvme0: Missing interrupt
> Aug 21 04:35:50 nostromo kernel: nvme0: Missing interrupt
>

What happens if you set hw.nvme.use_nvd=0 and hw.cam.nda.nvd_compat=1
in the boot loader and reboot? Same thing except nda where nvd was? Or does
it work?

Something weird is going on in the interrupt assignment, I think, but I
wanted to get any nvd vs nda issues out of the way first.

Warner