mbox series

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

Message ID 20181102085732.2343-1-daniel.axtens@canonical.com
Headers show
Series LP: #1801305: xen-blkfront: restore request mode | expand

Message

Daniel Axtens Nov. 2, 2018, 8:57 a.m. UTC
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(-)

Comments

Stefan Bader Nov. 6, 2018, 12:31 p.m. UTC | #1
On 02.11.18 09:57, Daniel Axtens wrote:
> 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(-)
> 
Acked-by: Stefan Bader <stefan.bader@canonical.com>
Kleber Sacilotto de Souza Nov. 7, 2018, 8:52 a.m. UTC | #2
On 11/02/18 09:57, Daniel Axtens wrote:
> 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(-)
>
Hi Daniel,

The patches come from "AWS 4.14 kernel SRPM", does it mean they were
never upstream? If that's the case we need to mark the patches as SAUCE
(we could do it when applying them).


Thanks,

Kleber
Kleber Sacilotto de Souza Nov. 7, 2018, 5:22 p.m. UTC | #3
On 11/02/18 09:57, Daniel Axtens wrote:
> 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(-)
>
The patches probably need a SAUCE tag since they don't seems to come
from mainline.

Acked-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
Daniel Axtens Nov. 8, 2018, 12:23 a.m. UTC | #4
Hi Kleber,

Sorry, just replied to your other email - yes, the patches from the
SRPM were never upstream and should therefore be marked as SAUCE. I
didn't do that because I (mistakenly!) thought that was limited to
patches written specifically for the Ubuntu kernel.

Regards,
Dniel
On Wed, Nov 7, 2018 at 7:52 PM Kleber Souza <kleber.souza@canonical.com> wrote:
>
> On 11/02/18 09:57, Daniel Axtens wrote:
> > 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(-)
> >
> Hi Daniel,
>
> The patches come from "AWS 4.14 kernel SRPM", does it mean they were
> never upstream? If that's the case we need to mark the patches as SAUCE
> (we could do it when applying them).
>
>
> Thanks,
>
> Kleber
>
Khalid Elmously Nov. 8, 2018, 6:10 a.m. UTC | #5
Applied to cosmic-aws/master. Added "SAUCE: " to all patches

On 2018-11-02 19:57:26 , Daniel Axtens wrote:
> 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
> 
> 
> -- 
> kernel-team mailing list
> kernel-team@lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team
Kleber Sacilotto de Souza Nov. 8, 2018, 8:11 a.m. UTC | #6
On 11/08/18 01:23, Daniel Axtens wrote:
> Hi Kleber,
>
> Sorry, just replied to your other email - yes, the patches from the
> SRPM were never upstream and should therefore be marked as SAUCE. I
> didn't do that because I (mistakenly!) thought that was limited to
> patches written specifically for the Ubuntu kernel.

Hi Daniel,

Thank you for the clarification. There's no need to send the patches
again now, we can edit the subject when applying.


Thanks,
Kleber

> Regards,
> Dniel
> On Wed, Nov 7, 2018 at 7:52 PM Kleber Souza <kleber.souza@canonical.com> wrote:
>> On 11/02/18 09:57, Daniel Axtens wrote:
>>> 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(-)
>>>
>> Hi Daniel,
>>
>> The patches come from "AWS 4.14 kernel SRPM", does it mean they were
>> never upstream? If that's the case we need to mark the patches as SAUCE
>> (we could do it when applying them).
>>
>>
>> Thanks,
>>
>> Kleber
>>