I am trying to change a parameter, called "sgl_threshold", in the nvme driver when booting into Ubuntu 16.04 running linux kernel v4.18-generic.

It appears the nvme driver is actually built-in as it is not found using lsmod and is being used by a device, and also is found in /sys/module/nvme/(parameters are found in /sys/module/nvme/parameters).

My question is how can I change this built-in module's parameter at runtime, or permanently change this parameter whenever the nvme driver is loaded?

I have tried creating a file in modprobe.d with nvme sgl_threshold=1, and also editing GRUB_CMDLINE_LINUX_DEFAULT in the default grub file.

1 Answer 1


Ended up figuring this out...

Edit the defualt grub file (/etc/default/grub) at the line beginning with GRUB_CMDLINE_LINUX_DEFAULT and append nvme.sgl_threshold=1 within the quotation marks.

  • Also need to call 'sudo update-grub' for the change to stick.
    – Dave
    Commented Sep 28, 2018 at 17:11

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .