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

Bug #1801305 reported by Daniel Axtens on 2018-11-02
8
This bug affects 1 person
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)
Status tracked in Disco
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
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers