If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

NVMe SSD = What scheduler should Fedora 26 be using?

Hi everyone, Rod here

I been lurking for almost two years now but never really had any reason to ask for help or advice until now.

I recently made some pretty serious changes to my main PC and disabled all SATA, eSATA, USB 3.0, Marvel SATA III ports etc within my Legacy BIOS. I then set the BIOS to plug and play OS YES, and created a Clover UEFI Bootloader on a USB drive in order to convert my system to using the newer UEFI standards. Works great.

I then installed a brand new Samsung SM961 NVMe PCIe SSD into a full fledged x16 slot. I then installed NvmExpressDxe-64.efi drivers into the Clover install, and proceeded to install Fedora 26. It runs amazing as-is, super fast and super snappy. Gained a full 8 seconds shorter boot time thanks to this conversion to UEFI and dumping AHCI/SATA. Just wow. Just LOVE Fedora like this.

However, Fedora 26 says it is using the CFQ scheduler. Shouldn't it have set "none" or something along the lines of "noop" or "blk-mq"? Is it because of the non-standard setup that Fedora is using CFQ? Or is it actually using CFQ for everything that I may connect, such as USB while bypassing the scheduler for the PCIe because of the NVMe protocol? Here soon kernel 4.12 will be released and I want to make sure this NVMe + 6-core CPU is using the correct overall setup.

I am also using one 840 Pro SSD via a USB 3.1 adapter in order to get full SSD speeds, and also a large NAS/Server for all my storage needs. So I don't need SATA or its AHCI protocol any more, not on my main system anyway.

So should I change my scheduler to something else? Thank you for some advice...

Re: NVMe SSD = What scheduler should Fedora 26 be using?

I am also using one 840 Pro SSD via a USB 3.1 adapter in order to get full SSD speeds, So I don't need SATA or its AHCI protocol any more, not on my main system anyway.

This is, well idiotic. The 840 Pro is a SATA III 6 GB/s device and its maximum speed is below the SATA III limit.

From the 840 specs:
Performance

Sustained Sequential Read
540 MB/s

Sustained Sequential Write
520MB/s

6 Gbps works out to 750 MB/s raw data and 600 MB/s actual throughput once the 20% protocol overhead is taken into account.

SATA III (revision 3.x) interface, formally known as SATA 6Gb/s, is a third generation SATA interface running at 6.0Gb/s. The bandwidth throughput, which is supported by the interface, is up to 600MB/s. This interface is backwards compatible with SATA 3 Gb/s interface.Jan 10, 2012

Since 540 MB/s < 600 MB/s you get the full SSD speeds with SATA III as this drive is designed for SATA III.Nobody would design a drive that was faster than its interface.

You don't gain anything by using a USB 3.1 adaptor ! In fact you would just be adding overhead by converting to USB protocols and back. Also you would lose advanced smartctl monitoring of the disk as USB only supports basic storage commands.