Bug#914758: linux-image-4.18.0-2-amd64: setting elevator=none does not change io scheduler
Package: src:linux
Version: 4.18.10-2
Severity: normal
Greetings!
Thank you for your contribution to Debian. It is appreciated!
I am running:
linux-image-4.18.0-2-amd64 4.18.10-2+b1
and attempting to set the IO scheduler.
Looking at the current scheduler:
# cat /sys/block/sda/queue/scheduler
[mq-deadline] none
However my kernel command line:
# cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-4.18.0-2-amd64 root=UUID=1965daa6-aa4c-4c02-8402-589867e32517 ro elevator=none quiet
I can set the scheduler via sysfs:
# echo none > /sys/block/sda/queue/scheduler
# cat /sys/block/sda/queue/scheduler
[none] mq-deadline
I just don't know why the elevator parameter isn't working. According to the
kernel documentation for 4.18:
grep -A3 elevator /usr/src/linux-source-4.18/Documentation/admin-guide/kernel-parameters.txt
elevator= [IOSCHED]
Format: {"cfq" | "deadline" | "noop"}
See Documentation/block/cfq-iosched.txt and
Documentation/block/deadline-iosched.txt for details.
It appears that I should pass "noop" to the elevator parameter. However, the
same results occur:
# cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-4.18.0-2-amd64 root=UUID=1965daa6-aa4c-4c02-8402-589867e32517 ro elevator=noop quiet
# cat /sys/block/sda/queue/scheduler
[mq-deadline] none
If I look at the kernel ring buffer I see some evidence that I perhaps should
be using the "noop" scheduler:
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-4.18.0-2-amd64 root=UUID=1965daa6-aa4c-4c02-8402-589867e32517 ro elevator=noop quiet
[ 0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-4.18.0-2-amd64 root=UUID=1965daa6-aa4c-4c02-8402-589867e32517 ro elevator=noop quiet
[ 0.432773] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 248)
[ 0.432794] io scheduler noop registered (default)
[ 0.432795] io scheduler deadline registered
[ 0.432825] io scheduler cfq registered
[ 0.432826] io scheduler mq-deadline registered
I see the same io scheduler registerd when I use "elevator=none", too. That is
"none" is not registered, but "noop" is.
I don't see anything in my udev configs that would be setting the scheduler.
This is a VM system.
Thanks for any help!
-- Package-specific info:
** Kernel log: boot messages should be attached
-- System Information:
Debian Release: buster/sid
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (500, 'oldstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 4.17.0-3-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages linux-image-4.18.0-2-amd64 depends on:
ii initramfs-tools [linux-initramfs-tool] 0.132
ii kmod 25-1
ii linux-base 4.5
Versions of packages linux-image-4.18.0-2-amd64 recommends:
ii apparmor 2.13.1-3+b1
ii firmware-linux-free 3.4
ii irqbalance 1.5.0-0.1
Versions of packages linux-image-4.18.0-2-amd64 suggests:
pn debian-kernel-handbook <none>
ii extlinux 3:6.04~git20171011.af7e95c3+dfsg1-5
ii grub-pc 2.02+dfsg1-8
pn linux-doc-4.18 <none>
Versions of packages linux-image-4.18.0-2-amd64 is related to:
ii firmware-amd-graphics 20180825+dfsg-1
pn firmware-atheros <none>
pn firmware-bnx2 <none>
pn firmware-bnx2x <none>
pn firmware-brcm80211 <none>
pn firmware-cavium <none>
pn firmware-intel-sound <none>
pn firmware-intelwimax <none>
pn firmware-ipw2x00 <none>
pn firmware-ivtv <none>
pn firmware-iwlwifi <none>
pn firmware-libertas <none>
ii firmware-linux-nonfree 20180825+dfsg-1
ii firmware-misc-nonfree 20180825+dfsg-1
pn firmware-myricom <none>
pn firmware-netxen <none>
pn firmware-qlogic <none>
pn firmware-realtek <none>
pn firmware-samsung <none>
pn firmware-siano <none>
pn firmware-ti-connectivity <none>
pn xen-hypervisor <none>
-- no debconf information
Reply to: