Restore request-based mode to xen-blkfront for AWS kernels

Bug #1801305 reported by Daniel Axtens
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Trusty
Fix Committed
Undecided
Unassigned
Xenial
Fix Committed
Undecided
Unassigned
Bionic
Fix Committed
Undecided
Unassigned
Cosmic
Fix Committed
Undecided
Unassigned
Disco
Won't Fix
Undecided
Unassigned
linux-aws (Ubuntu)
Fix Released
Undecided
Unassigned
Trusty
Fix Released
Undecided
Unassigned
Xenial
Fix Released
Undecided
Unassigned
Bionic
Fix Released
Undecided
Unassigned
Cosmic
Fix Released
Undecided
Unassigned
Disco
Fix Released
Undecided
Unassigned

Bug Description

In current Ubuntu kernels, PV blkfront drivers have blk-mq enabled by default and cannot use the old I/O scheduler.

[Impact]
blk-mq is not as fast as the old request-based scheduler for some workloads on HDD disks.

[Fix]
Amazon Linux has a commit which reintroduces the request-based mode. It disables blk-mq by default but allows it to be switched back on with a kernel parameter.

For X this needs a small patch from upstream for error handling.

For B/C this patchset is bigger as it includes the suspend/resume patches already in X, and a new fixup. These are desirable as the request mode patch assumes their presence.

[Regression Potential]
Could potentially break xen based disks on AWS.

For B/C, the patches also add some code to the xen core around suspend and resume, this code is much smaller and also mirrors code already in Xenial.

[Tests]
Tested by AWS for Xenial, and their kernel engineers vetted the patches. I tested the Bionic and Cosmic patchsets with fio, the system appears stable and the IOPS promised for EBS Provisioned IOPS disks were met in my testing. I did an apt update/upgrade and everything worked (no hash-sum mismatches).

Daniel Axtens (daxtens)
description: updated
description: updated
Daniel Axtens (daxtens)
description: updated
description: updated
Changed in linux (Ubuntu):
status: Confirmed → Fix Committed
Changed in linux (Ubuntu Disco):
status: Fix Committed → Triaged
Changed in linux (Ubuntu Cosmic):
status: New → Fix Committed
Changed in linux (Ubuntu Bionic):
status: New → Fix Committed
Changed in linux (Ubuntu Xenial):
status: New → Fix Committed
Changed in linux (Ubuntu Trusty):
status: New → In Progress
Changed in linux (Ubuntu Trusty):
status: In Progress → Fix Committed
Revision history for this message
Daniel Axtens (daxtens) wrote :

I've checked that the proposed Xenial AWS kernel works - it boots successfully and uses the deadline scheduler by default on a t2.micro instance.

Regards,
Daniel

no longer affects: linux (Ubuntu)
Changed in linux-aws (Ubuntu Trusty):
status: New → Fix Released
Changed in linux-aws (Ubuntu Xenial):
status: New → Fix Released
Changed in linux-aws (Ubuntu Bionic):
status: New → Fix Released
Changed in linux-aws (Ubuntu Cosmic):
status: New → Fix Released
Changed in linux-aws (Ubuntu Disco):
status: New → Fix Released
Revision history for this message
Seth Forshee (sforshee) wrote :

Adding a note that we must drop these patches for 5.0 (disco). The single queue IO schedulers are gone; blk-mq is the only game in town. For reference, this seems to be one of the key commits:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a1ce35fa49852db60fc6e268038530be533c5b15

I don't know if some of the patches are still useful or not. I'm going to drop them all; we can add some of them back if still needed.

Revision history for this message
Seth Forshee (sforshee) wrote :

Upon closer inspection, it looks like we probably do want to keep the PM patches, so I've only dropped "UBUNTU: SAUCE: xen-blkfront: resurrect request-based mode."

Steve Langasek (vorlon)
Changed in linux (Ubuntu Disco):
status: Triaged → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.