[SRU bionic-aws][PATCH 0/6] LP: #1801305: xen-blkfront: restore request mode

Daniel Axtens daniel.axtens at canonical.com
Fri Nov 2 09:00:04 UTC 2018


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 Xenial
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).

Anchal Agarwal (1):
  xen-blkfront: Fixed blkfront_restore to remove a call to negotiate_mq

Munehisa Kamata (5):
  xen/manage: keep track of the on-going suspend mode
  xen/manage: introduce helper function to know the on-going suspend
    mode
  xenbus: add freeze/thaw/restore callbacks support
  xen-blkfront: add callbacks for PM suspend and hibernation
  xen-blkfront: resurrect request-based mode

 drivers/block/xen-blkfront.c      | 475 ++++++++++++++++++++++++++----
 drivers/xen/manage.c              |  73 +++++
 drivers/xen/xenbus/xenbus_probe.c | 102 ++++++-
 include/xen/xen-ops.h             |   4 +
 include/xen/xenbus.h              |   3 +
 5 files changed, 576 insertions(+), 81 deletions(-)

-- 
2.17.1





More information about the kernel-team mailing list