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

Bug #1801305 reported by Daniel Axtens on 2018-11-02
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Trusty
Undecided
Unassigned
Xenial
Undecided
Unassigned
Bionic
Undecided
Unassigned
Cosmic
Undecided
Unassigned
Disco
Undecided
Unassigned
linux-aws (Ubuntu)
Undecided
Unassigned
Trusty
Undecided
Unassigned
Xenial
Undecided
Unassigned
Bionic
Undecided
Unassigned
Cosmic
Undecided
Unassigned
Disco
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) on 2018-11-02
description: updated
description: updated
Daniel Axtens (daxtens) on 2018-11-02
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
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
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.

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) on 2020-07-02
Changed in linux (Ubuntu Disco):
status: Triaged → Won't Fix
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers