4.4-14 disabling NCQ system-wide?
Hi guys,
I wonder why liquorix 4.4-14 wants to disable NCQ system wide. I expect this to be a performance hit on many systems, especially modern SSD devices. But to be honest I am missing in-depth knowledge here, so I wanted to ask about the reasons and intentions before building and installing this one. Thank you! Back to top |
|||||
Hi windseeker,
NCQ was disabled system-wide after some heaving testing of IO stalling on my own system: rsync from SSD -> HDD while writing a large 100gb to the SSD. In the default configuration using BFQ, my system would stall for upwards of 15 seconds. So, I did some experimentation. Raising nr_requests on each device in /sys/block/* from 128 (the default), to 1024 increased stalls noticeably. If I raise the nr_requests to 65536, essentially my system was completely unusable until the 100gb file was written to disk. This testing was done with NCQ off, which helped a bit. We can probably re-enable and set a maximum queue depth of 4, essentially trusting that the storage device will complete 4 requests fast enough that the IO scheduler's choices will be mostly respected. But yes, this is definitely a test, but still a step in the right direction for a responsive desktop. I'll investigate re-enabling NCQ for performance reasons. Back to top |
|||||
New kernel is out, 4.4-16, and has NCQ re-enabled but with a maximum queue depth of 8 (out of 32). Give it a shot and let me know if you still notice a drop in throughput when doing heavy IO.
Back to top |
|||||
I never noticed drops in I/O throuput, not before and not after your limitation of max queue depth. Tho I don't have data if the limitation causes general I/O slowdowns, but from theory I expect this to be slower now.
Back to top |
|||||
All times are GMT - 8 Hours
|