kernel-packages team mailing list archive
-
kernel-packages team
-
Mailing list archive
-
Message #92295
[Bug 1397061] Re: CONFIG_SCSI_MQ_DEFAULT default changed preventing use of IO schedulers
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