You are not logged in.

#1 2019-04-22 12:22:41

Animosity022
Member
Registered: 2019-03-25
Posts: 8

Blacklist NVME

I tried blacklisting the module and adding in the grub command to blacklist.

Is there another way or something else to get this not to load as it makes my boot time take another 60 seconds while it times out.

[    0.000000] Command line: BOOT_IMAGE=/vmlinuz-linux root=UUID=4f97b57c-00fb-4f6f-a80f-e62047d007c8 rw module_blacklist=nvme
[    0.175230] Kernel command line: BOOT_IMAGE=/vmlinuz-linux root=UUID=4f97b57c-00fb-4f6f-a80f-e62047d007c8 rw module_blacklist=nvme
[    0.979422] nvme nvme0: pci function 0000:02:00.0
[   61.297289] nvme nvme0: I/O 8 QID 0 timeout, disable controller
[   61.404325] nvme nvme0: Identify Controller failed (-4)
[   61.404353] nvme nvme0: Removing after probe failure status: -5

Offline

#2 2019-04-22 12:34:40

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,679
Website

Re: Blacklist NVME

Rather than using GRUB, blacklist the module with a file in /etc/modprobe.d/[1] and then regenerate the initramfs[2] to remove the module from there.

Offline

#3 2019-04-22 12:43:49

Animosity022
Member
Registered: 2019-03-25
Posts: 8

Re: Blacklist NVME

That was my first try as I forgot to include that as well. When that didn't work, I moved on to grub to try to catch it earlier.

[root@gemini modprobe.d]# cat blacklist.conf
blacklist nvme

[root@gemini modprobe.d]#  mkinitcpio -v  | grep nvme
[root@gemini modprobe.d]#

[root@gemini modprobe.d]#  mkinitcpio -M | grep nvme
[root@gemini modprobe.d]#

I also tried the false method as well:

cat /etc/modprobe.d/blacklist.conf
install nvme /bin/false

Last edited by Animosity022 (2019-04-22 12:49:20)

Offline

#4 2019-04-22 14:06:44

loqs
Member
Registered: 2014-03-06
Posts: 17,192

Re: Blacklist NVME

nvme is not built as a module so can not be blacklisted.

[1] https://git.archlinux.org/svntogit/pack … ee30#n2306

Offline

#5 2019-04-22 14:24:29

r0b0t
Member
From: /tmp
Registered: 2009-05-24
Posts: 505

Re: Blacklist NVME

I don't know why you want to blacklist it, but you can try your own kernel and set the kernel config stuff to n under the NVME support.

#
# NVME Support
#
CONFIG_NVME_CORE=y
CONFIG_BLK_DEV_NVME=y
CONFIG_NVME_MULTIPATH=y
CONFIG_NVME_FABRICS=m
CONFIG_NVME_RDMA=m
CONFIG_NVME_FC=m
CONFIG_NVME_TCP=m
CONFIG_NVME_TARGET=m
CONFIG_NVME_TARGET_LOOP=m
CONFIG_NVME_TARGET_RDMA=m
CONFIG_NVME_TARGET_FC=m
CONFIG_NVME_TARGET_FCLOOP=m
CONFIG_NVME_TARGET_TCP=m

Offline

#6 2019-04-22 15:12:33

Animosity022
Member
Registered: 2019-03-25
Posts: 8

Re: Blacklist NVME

If there is another way to disable as I don’t use it and it adds a 60 second lock up to my boot process, please let me know.

There are no options in the bios to turn off that specifically without turning off all the onboard Sata.

Offline

#7 2019-04-22 15:34:28

loqs
Member
Registered: 2014-03-06
Posts: 17,192

Re: Blacklist NVME

The 60 second timeout matches the default for admin_timeout so I would suggest nvme.admin_timeout=0
If that fails vfio-pci.ids=VID:PID to assign the device to the vfio-pci instead of the nvme.

Offline

#8 2019-04-22 15:36:33

Animosity022
Member
Registered: 2019-03-25
Posts: 8

Re: Blacklist NVME

Ok. I’ll give that a try. Is that timeout a module option or sysctl.conf change?

Last edited by Animosity022 (2019-04-22 15:36:45)

Offline

#9 2019-04-22 15:38:57

loqs
Member
Registered: 2014-03-06
Posts: 17,192

Re: Blacklist NVME

module option
Edit:
https://github.com/torvalds/linux/blob/ … core.c#L40

Last edited by loqs (2019-04-22 15:40:34)

Offline

#10 2019-04-22 17:23:06

Animosity022
Member
Registered: 2019-03-25
Posts: 8

Re: Blacklist NVME

So if it isn't compiled as a module and not loaded that way, it doesn't seem to take into account of those changes.

I tried making it 0 and 5 for a test and rebooted and it still takes 60 seconds to timeout:

cat /etc/modprobe.d/nvme.conf
nvme.admin_timeout=5

I'm going take a look at turning it off via the custom kernel.

Offline

#11 2019-04-22 17:25:32

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,679
Website

Re: Blacklist NVME

Animosity022 wrote:
cat /etc/modprobe.d/nvme.conf
nvme.admin_timeout=5

Module options are not applied in the same way as sysctl variables.

Try this instead:

# /etc/modprobe.d/nvme.conf
options nvme admin-timeout=5

https://wiki.archlinux.org/index.php/Ke … odprobe.d/

Offline

#12 2019-04-22 17:29:52

Animosity022
Member
Registered: 2019-03-25
Posts: 8

Re: Blacklist NVME

No dice even with that:

[    0.964620] nvme nvme0: pci function 0000:02:00.0
[   61.299497] nvme nvme0: I/O 28 QID 0 timeout, disable controller
[   61.406517] nvme nvme0: Identify Controller failed (-4)
[   61.406543] nvme nvme0: Removing after probe failure status: -5
[root@gemini ~]# cat /etc/modprobe.d/nvme.conf
options nvme admin-timeout=5

Offline

#13 2019-04-22 17:49:42

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,679
Website

Re: Blacklist NVME

Sorry, yes, it's not a module so modprobe.d won't work. That was silly of me.

Is there an NVMe option in sysctl?

Offline

#14 2019-04-22 17:58:04

Animosity022
Member
Registered: 2019-03-25
Posts: 8

Re: Blacklist NVME

I checked via this:

[root@gemini ~]# sysctl -a | grep -i nvme
[root@gemini ~]#

so I don't see any. I am just about done making a kernel and I turned it off that way but that's a long way around the issue.

Offline

#15 2019-04-22 18:08:15

Animosity022
Member
Registered: 2019-03-25
Posts: 8

Re: Blacklist NVME

I just ended up with a very simple approach of using grub and blacklisting the call to initialize it since it is a driver and not a module as that makes things very easy.

GRUB_CMDLINE_LINUX_DEFAULT="initcall_blacklist=nvme_init"

and the boot

[    0.000000] Command line: BOOT_IMAGE=/vmlinuz-linux root=UUID=4f97b57c-00fb-4f6f-a80f-e62047d007c8 rw initcall_blacklist=nvme_init
[    0.175118] Kernel command line: BOOT_IMAGE=/vmlinuz-linux root=UUID=4f97b57c-00fb-4f6f-a80f-e62047d007c8 rw initcall_blacklist=nvme_init
[    0.175137] blacklisting initcall nvme_init
[    0.962603] initcall nvme_init blacklisted

Last edited by Animosity022 (2019-04-22 18:09:02)

Offline

Board footer

Powered by FluxBB