Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 Jun 2015 16:10:15 -0700
From:      Jim Harris <jim.harris@gmail.com>
To:        Sean Kelly <smkelly@smkelly.org>
Cc:        FreeBSD-STABLE Mailing List <freebsd-stable@freebsd.org>
Subject:   Re: 10.1 NVMe kernel panic
Message-ID:  <CAJP=Hc-w_J9wAJXqhtzdGa7fQ0bqFcSXm0sGi0Xnue8jqXOw5A@mail.gmail.com>
In-Reply-To: <90B2D392-01FD-415A-B3D9-3CEDFC8373C4@smkelly.org>
References:  <90B2D392-01FD-415A-B3D9-3CEDFC8373C4@smkelly.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, May 21, 2015 at 8:33 AM, Sean Kelly <smkelly@smkelly.org> wrote:

> Greetings.
>
> I have a Dell R630 server with four of Dell=E2=80=99s 800GB NVMe SSDs run=
ning
> FreeBSD 10.1-p10. According to the PCI vendor, they are some sort of
> rebranded Samsung drive. If I boot the system and then load nvme.ko and
> nvd.ko from a command line, the drives show up okay. If I put
>         nvme_load=3D=E2=80=9CYES=E2=80=9D
>         nvd_load=3D=E2=80=9CYES=E2=80=9D
> in /boot/loader.conf, the box panics on boot:
>         panic: nexus_setup_intr: NULL irq resource!
>
> If I boot the system with =E2=80=9CSafe Mode: ON=E2=80=9D from the loader=
 menu, it also
> boots successfully and the drives show up.
>
> You can see a full =E2=80=98boot -v=E2=80=99 here:
> http://smkelly.org/stuff/nvme-panic.txt <
> http://smkelly.org/stuff/nvme-panic.txt>;
>
> Anyone have any insight into what the issue may be here? Ideally I need t=
o
> get this working in the next few days or return this thing to Dell.
>

Hi Sean,

Can you try adding hw.nvme.force_intx=3D1 to /boot/loader.conf?

I suspect you are able to load the drivers successfully after boot because
interrupt assignments are not restricted to CPU0 at that point - see
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D199321 for a related
issue.  Your logs clearly show that vectors were allocated for the first 2
NVMe SSDs, but the third could not get its full allocation.  There is a bug
in the INTx fallback code that needs to be fixed - you do not hit this bug
when loading after boot because bug #199321 only affects interrupt
allocation during boot.

If the force_intx test works, would you able to upgrade your nvme drivers
to the latest on stable/10?  There are several patches (one related to
interrupt vector allocation) that have been pushed to stable/10 since 10.1
was released, and I will be pushing another patch for the issue you have
reported shortly.

Thanks,

-Jim




>
> Thanks!
>
> --
> Sean Kelly
> smkelly@smkelly.org
> http://smkelly.org
>
> _______________________________________________
> freebsd-stable@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJP=Hc-w_J9wAJXqhtzdGa7fQ0bqFcSXm0sGi0Xnue8jqXOw5A>