Thanks for your rapid attention on this one. Just for completeness, I want to expand on this statement from the description: "my system does seem to benefit from blk-mq" That is, unless the IO load is high. With very high disk IO load, things fall apart. For example I had a single disk seek time of 73 seconds, and a simple "ls -l" command that never did finish in over 1/2 an hour.
With blk-mq disabled, while the system still gets sluggish under extreme disk IO load, no single task experiences such horrendous neglect. I even several occurrences of this: Nov 28 08:12:28 s15 kernel: [42812.544892] INFO: task master:2225 blocked for more than 120 seconds. Nov 28 08:12:28 s15 kernel: [42812.544934] Not tainted 3.18.0-rc6-250 #173 Nov 28 08:12:28 s15 kernel: [42812.544961] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. With blk-mq disabled, and under the same extreme disk IO load, the worst disk seek time is about 1 second. -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1397061 Title: CONFIG_SCSI_MQ_DEFAULT default changed preventing use of IO schedulers Status in linux package in Ubuntu: Fix Committed Bug description: In kernel 3.18RC1 this kernel config parameter is: # CONFIG_SCSI_MQ_DEFAULT is not set In kernel 3.18RC2 and beyond, the kernel config parameter is: CONFIG_SCSI_MQ_DEFAULT=y This results in loss of the ability to set the IO scheduler via /sys/block/sda/queue/scheduler. Now we get: doug@s15:~$ cat /sys/block/sda/queue/scheduler none Where we are used to getting: doug@s15:~/temp2$ cat /sys/block/sda/queue/scheduler noop [deadline] cfq From the add a CONFIG_SCSI_MQ_DEFAULT option commit message: > Add a Kconfig option to enable the blk-mq path for SCSI by default > to ease testing and deployment in setups that know they benefit > from blk-mq. How do we know that all systems benifit from blk-mq? It seems complicated to have to re-compile the kernel to get the other IO scheduler options back. Why isn't this option done similar to the others? I.E. doug@s15:~/temp2$ cat /sys/block/sda/queue/scheduler noop [deadline] cfq blk-mq (and I realize that is actually an upstream question.) By the way, my system does seem to benefit from blk-mq, I just didn't understand why I couldn't observe and change the IO scheduler anymore, and so isolated the change. Experimental data: Random seeks in a large file: blk-mq: 104 seeks per second average deadline: 74 seeks per second average cfq: 74 seeks per second average noop: 74 seeks per second average Kernel compile: deadline: 23 minutes 37.4 seconds blk-mq: 23 minutes 35.4 seconds Note 1: Please do not ask for all of my apport stuff, it is not needed for this bug report. Note 2: on IRC "apw" asked me to enter this bug report To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1397061/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp