Allow I/O schedulers to be loaded with modprobe in linux-azure

Bug #1813211 reported by David Coronel on 2019-01-24
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux-azure (Ubuntu)
Undecided
Marcelo Cerri
Bionic
Undecided
Marcelo Cerri
Cosmic
Undecided
Marcelo Cerri

Bug Description

There was a previous request in bug https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1671203 to limit the IO scheduler to NOOP in linux-azure. The other schedulers were turned off and NOOP was made the default.

However with new upstream releases, new schedulers where added and linux-azure inherited the default config value for them from the master kernel. That's why there are some IO schedulers built as modules in the extra package (mq-deadline and kyber-iosched). In order to use those two modules, one needs to install the -extra package and modprobe the modules first:

# tail /sys/block/sd*/queue/scheduler
==> /sys/block/sda/queue/scheduler <==
[none]

==> /sys/block/sdb/queue/scheduler <==
[none]

# apt install linux-modules-extra-4.15.0-1036-azure

# modprobe kyber-iosched
# tail /sys/block/sd*/queue/scheduler
==> /sys/block/sda/queue/scheduler <==
[none] kyber

==> /sys/block/sdb/queue/scheduler <==
[none] kyber

# modprobe mq-deadline
# tail /sys/block/sd*/queue/scheduler
==> /sys/block/sda/queue/scheduler <==
[none] kyber mq-deadline

==> /sys/block/sdb/queue/scheduler <==
[none] kyber mq-deadline

The schedulers cfq and deadline have been completely disabled in LP bug #1671203 so they cannot be added with modprobe.

This is a request to move back the cfq and deadline schedulers along with the mq-deadline and kyber-iosched schedulers to the main linux-azure package (in other words, not in the -extra package) and allow the users to be able to modprobe the schedulers when needed.

Joshua R. Poulson (jrp) on 2019-01-31
Changed in linux-azure (Ubuntu):
status: New → Confirmed
Changed in linux-azure (Ubuntu):
status: Confirmed → Invalid
Marcelo Cerri (mhcerri) on 2019-02-06
Changed in linux-azure (Ubuntu Bionic):
status: New → Fix Committed
Changed in linux-azure (Ubuntu Cosmic):
status: New → Fix Committed
Changed in linux-azure (Ubuntu):
assignee: nobody → Marcelo Cerri (mhcerri)
Changed in linux-azure (Ubuntu Bionic):
assignee: nobody → Marcelo Cerri (mhcerri)
Changed in linux-azure (Ubuntu Cosmic):
assignee: nobody → Marcelo Cerri (mhcerri)
Brad Figg (brad-figg) wrote :

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-bionic' to 'verification-done-bionic'. If the problem still exists, change the tag 'verification-needed-bionic' to 'verification-failed-bionic'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-bionic
David Coronel (davecore) wrote :

[VERIFICATION BIONIC]

I can modprobe the mq-deadline, kyber and bfq schedulers but it looks like doing a modprobe of the cfq and deadline schedulers doesn't list them as choices in the available schedulers:

# uname -r
4.18.0-1009-azure

# modprobe bfq
# modprobe cfq-iosched
# modprobe mq-deadline
# modprobe kyber-iosched
# modprobe deadline-iosched

# tail /sys/block/sda/queue/scheduler
[none] mq-deadline kyber bfq

I have these 4.18 kernel packages installed:

# dpkg -l | grep 4.18 | grep linux
ii linux-azure 4.18.0.1009.9
ii linux-azure-cloud-tools-4.18.0-1009 4.18.0-1009.9~18.04.1
ii linux-azure-headers-4.18.0-1009 4.18.0-1009.9~18.04.1
ii linux-azure-tools-4.18.0-1009 4.18.0-1009.9~18.04.1
ii linux-cloud-tools-4.18.0-1009-azure 4.18.0-1009.9~18.04.1
ii linux-cloud-tools-azure 4.18.0.1009.9
ii linux-headers-4.18.0-1009-azure 4.18.0-1009.9~18.04.1
ii linux-headers-azure 4.18.0.1009.9
ii linux-image-4.18.0-1009-azure 4.18.0-1009.9~18.04.1
ii linux-image-azure 4.18.0.1009.9
ii linux-modules-4.18.0-1009-azure 4.18.0-1009.9~18.04.1
ii linux-tools-4.18.0-1009-azure 4.18.0-1009.9~18.04.1
ii linux-tools-azure 4.18.0.1009.9

Marcelo Cerri (mhcerri) wrote :

That's the expected result. Only multiqueue io schedulers will be available for multiqueue block devices.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers