[SRU,D,/,B,aws-edge,aws,PULL,v3] proper hibernation support
mbox series

Message ID 20200211073335.GM27970@xps-13
State New
Headers show
Series
  • [SRU,D,/,B,aws-edge,aws,PULL,v3] proper hibernation support
Related show

Pull-request

git://git.launchpad.net/~arighi/+git/bionic-linux aws-edge-arighi

Message

Andrea Righi Feb. 11, 2020, 7:33 a.m. UTC
BugLink: https://bugs.launchpad.net/bugs/1858618
BugLink: https://bugs.launchpad.net/bugs/1831940

The following patches are required to properly support hibernation with
bionic:linux-aws-edge / disco:linux-aws.

The most important patch is "PM / hibernate: memory_bm_find_bit():
Tighten node optimisation": this is a very critical bug fix for
hibernation that prevents potential memory corruptions on resume.

All the other hibernation-related SAUCE patches are required to improve
swapoff performance after a successful resume.

Moreover, some Xen-related patches have been included (ported from
bionic:linux-aws).

All these patches have been tested in the AWS environment with positive
results.

Changes in v3:
 - added missing BugLink information
 - added "cherry picked" lines for upstream patches

Changes in v2:
 - added missing Xen-related patches
 - added pm_async and image_size tunings

The following changes since commit 0f84693e79c7c596ac56d952851e0b9527679689:

  UBUNTU: Ubuntu-aws-edge-5.0.0-1019.21~18.04.1 (2019-10-03 00:49:16 -0400)

are available in the Git repository at:

  git://git.launchpad.net/~arighi/+git/bionic-linux aws-edge-arighi

for you to fetch changes up to b4aa4088c1582fa27c63532788b4d7087b1bbafa:

  UBUNTU SAUCE [aws]: xen: Only restore the ACPI SCI interrupt in xen_restore_pirqs. (2020-02-11 08:32:11 +0100)

----------------------------------------------------------------
Anchal Agarwal (1):
      UBUNTU SAUCE [aws]: ACPICA: Enable sleep button on ACPI legacy wake

Andrea Righi (4):
      UBUNTU SAUCE [aws] PM / hibernate: reduce memory pressure during image writing
      UBUNTU SAUCE [aws]: mm: swap: improve swap readahead heuristic
      UBUNTU SAUCE [aws]: PM / hibernate: make sure pm_async is always disabled
      UBUNTU SAUCE [aws]: PM / hibernate: set image_size to 0 by default

Andy Whitcroft (1):
      PM / hibernate: memory_bm_find_bit(): Tighten node optimisation

Eduardo Valentin (1):
      UBUNTU SAUCE [aws]: block: xen-blkfront: consider new dom0 features on restore

Frank van der Linden (2):
      UBUNTU SAUCE [aws]: xen: restore pirqs on resume from hibernation.
      UBUNTU SAUCE [aws]: xen: Only restore the ACPI SCI interrupt in xen_restore_pirqs.

Vineeth Remanan Pillai (2):
      mm: refactor swap-in logic out of shmem_getpage_gfp
      mm: rid swapoff of quadratic complexity

 arch/x86/xen/suspend.c           |   2 +
 drivers/acpi/acpica/hwsleep.c    |  11 +
 drivers/block/xen-blkfront.c     |   3 +
 drivers/xen/events/events_base.c |  45 +++
 include/linux/frontswap.h        |   7 +
 include/linux/shmem_fs.h         |   3 +-
 include/xen/events.h             |   1 +
 kernel/power/main.c              |   4 +-
 kernel/power/snapshot.c          |  10 +-
 kernel/power/swap.c              |  24 +-
 mm/shmem.c                       | 716 +++++++++++++++++++++------------------
 mm/swap.c                        |   2 +-
 mm/swap_state.c                  |  60 +---
 mm/swapfile.c                    | 433 +++++++++--------------
 14 files changed, 646 insertions(+), 675 deletions(-)

Comments

Kamal Mostafa Feb. 12, 2020, 6:23 p.m. UTC | #1
LGTM.  (Yay!  Go, Andrea!!)

Acked-by: Kamal Mostafa <kamal@canonical.com>

 -Kamal

On Tue, Feb 11, 2020 at 08:33:35AM +0100, Andrea Righi wrote:
> BugLink: https://bugs.launchpad.net/bugs/1858618
> BugLink: https://bugs.launchpad.net/bugs/1831940
> 
> The following patches are required to properly support hibernation with
> bionic:linux-aws-edge / disco:linux-aws.
> 
> The most important patch is "PM / hibernate: memory_bm_find_bit():
> Tighten node optimisation": this is a very critical bug fix for
> hibernation that prevents potential memory corruptions on resume.
> 
> All the other hibernation-related SAUCE patches are required to improve
> swapoff performance after a successful resume.
> 
> Moreover, some Xen-related patches have been included (ported from
> bionic:linux-aws).
> 
> All these patches have been tested in the AWS environment with positive
> results.
> 
> Changes in v3:
>  - added missing BugLink information
>  - added "cherry picked" lines for upstream patches
> 
> Changes in v2:
>  - added missing Xen-related patches
>  - added pm_async and image_size tunings
> 
> The following changes since commit 0f84693e79c7c596ac56d952851e0b9527679689:
> 
>   UBUNTU: Ubuntu-aws-edge-5.0.0-1019.21~18.04.1 (2019-10-03 00:49:16 -0400)
> 
> are available in the Git repository at:
> 
>   git://git.launchpad.net/~arighi/+git/bionic-linux aws-edge-arighi
> 
> for you to fetch changes up to b4aa4088c1582fa27c63532788b4d7087b1bbafa:
> 
>   UBUNTU SAUCE [aws]: xen: Only restore the ACPI SCI interrupt in xen_restore_pirqs. (2020-02-11 08:32:11 +0100)
> 
> ----------------------------------------------------------------
> Anchal Agarwal (1):
>       UBUNTU SAUCE [aws]: ACPICA: Enable sleep button on ACPI legacy wake
> 
> Andrea Righi (4):
>       UBUNTU SAUCE [aws] PM / hibernate: reduce memory pressure during image writing
>       UBUNTU SAUCE [aws]: mm: swap: improve swap readahead heuristic
>       UBUNTU SAUCE [aws]: PM / hibernate: make sure pm_async is always disabled
>       UBUNTU SAUCE [aws]: PM / hibernate: set image_size to 0 by default
> 
> Andy Whitcroft (1):
>       PM / hibernate: memory_bm_find_bit(): Tighten node optimisation
> 
> Eduardo Valentin (1):
>       UBUNTU SAUCE [aws]: block: xen-blkfront: consider new dom0 features on restore
> 
> Frank van der Linden (2):
>       UBUNTU SAUCE [aws]: xen: restore pirqs on resume from hibernation.
>       UBUNTU SAUCE [aws]: xen: Only restore the ACPI SCI interrupt in xen_restore_pirqs.
> 
> Vineeth Remanan Pillai (2):
>       mm: refactor swap-in logic out of shmem_getpage_gfp
>       mm: rid swapoff of quadratic complexity
> 
>  arch/x86/xen/suspend.c           |   2 +
>  drivers/acpi/acpica/hwsleep.c    |  11 +
>  drivers/block/xen-blkfront.c     |   3 +
>  drivers/xen/events/events_base.c |  45 +++
>  include/linux/frontswap.h        |   7 +
>  include/linux/shmem_fs.h         |   3 +-
>  include/xen/events.h             |   1 +
>  kernel/power/main.c              |   4 +-
>  kernel/power/snapshot.c          |  10 +-
>  kernel/power/swap.c              |  24 +-
>  mm/shmem.c                       | 716 +++++++++++++++++++++------------------
>  mm/swap.c                        |   2 +-
>  mm/swap_state.c                  |  60 +---
>  mm/swapfile.c                    | 433 +++++++++--------------
>  14 files changed, 646 insertions(+), 675 deletions(-)
> 
> -- 
> kernel-team mailing list
> kernel-team@lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team
Khaled Elmously Feb. 12, 2020, 10:23 p.m. UTC | #2
I don't think the following points are necessarily "mistakes", but a few things looked a little strange so I thought I'd point them out:
 1- In "UBUNTU SAUCE [aws]: mm: swap: improve swap readahead heuristic", the refactored function "static unsigned long swapin_nr_pages(unsigned long offset)" no longer uses 'offset' at all. Is that expected? Why not change the function signature then?
 2- In "UBUNTU SAUCE [aws]: PM / hibernate: make sure pm_async is always disabled", you changed "int pm_async_enabled = 1;" to make it "int pm_async_enabled;" in order to "make sure that pm_async is never enabled" - yet you don't explicitly set it to 0 on initialization. I assume that it will default to 0 (due to BSS initialization?), but I wasn't sure if maybe you had different intentions.
 3- In "UBUNTU SAUCE [aws]: PM / hibernate: set image_size to 0 by default", the patch description says "Set image_size to 0 by default so that..." yet the patch doesn't set image_size to 0 or to any value at all. Maybe by removing the assignment you are ensuring that it will always remain 0 but in that case then the patch description is inaccurate/misleading.


If you can please confirm that you're aware of and OK with those issues, you have my ACK :)

Thanks
Khaled

On 2020-02-11 08:33:35 , Andrea Righi wrote:
> BugLink: https://bugs.launchpad.net/bugs/1858618
> BugLink: https://bugs.launchpad.net/bugs/1831940
> 
> The following patches are required to properly support hibernation with
> bionic:linux-aws-edge / disco:linux-aws.
> 
> The most important patch is "PM / hibernate: memory_bm_find_bit():
> Tighten node optimisation": this is a very critical bug fix for
> hibernation that prevents potential memory corruptions on resume.
> 
> All the other hibernation-related SAUCE patches are required to improve
> swapoff performance after a successful resume.
> 
> Moreover, some Xen-related patches have been included (ported from
> bionic:linux-aws).
> 
> All these patches have been tested in the AWS environment with positive
> results.
> 
> Changes in v3:
>  - added missing BugLink information
>  - added "cherry picked" lines for upstream patches
> 
> Changes in v2:
>  - added missing Xen-related patches
>  - added pm_async and image_size tunings
> 
> The following changes since commit 0f84693e79c7c596ac56d952851e0b9527679689:
> 
>   UBUNTU: Ubuntu-aws-edge-5.0.0-1019.21~18.04.1 (2019-10-03 00:49:16 -0400)
> 
> are available in the Git repository at:
> 
>   git://git.launchpad.net/~arighi/+git/bionic-linux aws-edge-arighi
> 
> for you to fetch changes up to b4aa4088c1582fa27c63532788b4d7087b1bbafa:
> 
>   UBUNTU SAUCE [aws]: xen: Only restore the ACPI SCI interrupt in xen_restore_pirqs. (2020-02-11 08:32:11 +0100)
> 
> ----------------------------------------------------------------
> Anchal Agarwal (1):
>       UBUNTU SAUCE [aws]: ACPICA: Enable sleep button on ACPI legacy wake
> 
> Andrea Righi (4):
>       UBUNTU SAUCE [aws] PM / hibernate: reduce memory pressure during image writing
>       UBUNTU SAUCE [aws]: mm: swap: improve swap readahead heuristic
>       UBUNTU SAUCE [aws]: PM / hibernate: make sure pm_async is always disabled
>       UBUNTU SAUCE [aws]: PM / hibernate: set image_size to 0 by default
> 
> Andy Whitcroft (1):
>       PM / hibernate: memory_bm_find_bit(): Tighten node optimisation
> 
> Eduardo Valentin (1):
>       UBUNTU SAUCE [aws]: block: xen-blkfront: consider new dom0 features on restore
> 
> Frank van der Linden (2):
>       UBUNTU SAUCE [aws]: xen: restore pirqs on resume from hibernation.
>       UBUNTU SAUCE [aws]: xen: Only restore the ACPI SCI interrupt in xen_restore_pirqs.
> 
> Vineeth Remanan Pillai (2):
>       mm: refactor swap-in logic out of shmem_getpage_gfp
>       mm: rid swapoff of quadratic complexity
> 
>  arch/x86/xen/suspend.c           |   2 +
>  drivers/acpi/acpica/hwsleep.c    |  11 +
>  drivers/block/xen-blkfront.c     |   3 +
>  drivers/xen/events/events_base.c |  45 +++
>  include/linux/frontswap.h        |   7 +
>  include/linux/shmem_fs.h         |   3 +-
>  include/xen/events.h             |   1 +
>  kernel/power/main.c              |   4 +-
>  kernel/power/snapshot.c          |  10 +-
>  kernel/power/swap.c              |  24 +-
>  mm/shmem.c                       | 716 +++++++++++++++++++++------------------
>  mm/swap.c                        |   2 +-
>  mm/swap_state.c                  |  60 +---
>  mm/swapfile.c                    | 433 +++++++++--------------
>  14 files changed, 646 insertions(+), 675 deletions(-)
> 
> -- 
> kernel-team mailing list
> kernel-team@lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team
Andrea Righi Feb. 13, 2020, 10:36 a.m. UTC | #3
On Wed, Feb 12, 2020 at 05:23:10PM -0500, Khaled Elmously wrote:
> I don't think the following points are necessarily "mistakes", but a few things looked a little strange so I thought I'd point them out:
>  1- In "UBUNTU SAUCE [aws]: mm: swap: improve swap readahead heuristic", the refactored function "static unsigned long swapin_nr_pages(unsigned long offset)" no longer uses 'offset' at all. Is that expected? Why not change the function signature then?

I actually thought about changing the signature, but maintaining the
same prototype reduces the risk of breaking other potential users of
this function, making the patch easier to maintain.

>  2- In "UBUNTU SAUCE [aws]: PM / hibernate: make sure pm_async is always disabled", you changed "int pm_async_enabled = 1;" to make it "int pm_async_enabled;" in order to "make sure that pm_async is never enabled" - yet you don't explicitly set it to 0 on initialization. I assume that it will default to 0 (due to BSS initialization?), but I wasn't sure if maybe you had different intentions.

Yeah.. the comment of this patch is a bit misleading, we actually want
to set the default to be off, we don't necessarily want to prevent
having pm_async enabled. Probably a better title would have been:
"PM / hibernate: make pm_async disabled by default".

I can change the description and send another pull request.

>  3- In "UBUNTU SAUCE [aws]: PM / hibernate: set image_size to 0 by default", the patch description says "Set image_size to 0 by default so that..." yet the patch doesn't set image_size to 0 or to any value at all. Maybe by removing the assignment you are ensuring that it will always remain 0 but in that case then the patch description is inaccurate/misleading.

Removing the code that initializes image_size guarantees that the value
will be 0 by default, because of bss initialization. I could have added
an explicit "image_size = 0", but I don't think it's necessary.
Moreover, like pm_async, we don't want to prevent changing this value,
we just want to change the default.

> 
> 
> If you can please confirm that you're aware of and OK with those issues, you have my ACK :)
> 
> Thanks
> Khaled

Thanks for the review!

-Andrea

> 
> On 2020-02-11 08:33:35 , Andrea Righi wrote:
> > BugLink: https://bugs.launchpad.net/bugs/1858618
> > BugLink: https://bugs.launchpad.net/bugs/1831940
> > 
> > The following patches are required to properly support hibernation with
> > bionic:linux-aws-edge / disco:linux-aws.
> > 
> > The most important patch is "PM / hibernate: memory_bm_find_bit():
> > Tighten node optimisation": this is a very critical bug fix for
> > hibernation that prevents potential memory corruptions on resume.
> > 
> > All the other hibernation-related SAUCE patches are required to improve
> > swapoff performance after a successful resume.
> > 
> > Moreover, some Xen-related patches have been included (ported from
> > bionic:linux-aws).
> > 
> > All these patches have been tested in the AWS environment with positive
> > results.
> > 
> > Changes in v3:
> >  - added missing BugLink information
> >  - added "cherry picked" lines for upstream patches
> > 
> > Changes in v2:
> >  - added missing Xen-related patches
> >  - added pm_async and image_size tunings
> > 
> > The following changes since commit 0f84693e79c7c596ac56d952851e0b9527679689:
> > 
> >   UBUNTU: Ubuntu-aws-edge-5.0.0-1019.21~18.04.1 (2019-10-03 00:49:16 -0400)
> > 
> > are available in the Git repository at:
> > 
> >   git://git.launchpad.net/~arighi/+git/bionic-linux aws-edge-arighi
> > 
> > for you to fetch changes up to b4aa4088c1582fa27c63532788b4d7087b1bbafa:
> > 
> >   UBUNTU SAUCE [aws]: xen: Only restore the ACPI SCI interrupt in xen_restore_pirqs. (2020-02-11 08:32:11 +0100)
> > 
> > ----------------------------------------------------------------
> > Anchal Agarwal (1):
> >       UBUNTU SAUCE [aws]: ACPICA: Enable sleep button on ACPI legacy wake
> > 
> > Andrea Righi (4):
> >       UBUNTU SAUCE [aws] PM / hibernate: reduce memory pressure during image writing
> >       UBUNTU SAUCE [aws]: mm: swap: improve swap readahead heuristic
> >       UBUNTU SAUCE [aws]: PM / hibernate: make sure pm_async is always disabled
> >       UBUNTU SAUCE [aws]: PM / hibernate: set image_size to 0 by default
> > 
> > Andy Whitcroft (1):
> >       PM / hibernate: memory_bm_find_bit(): Tighten node optimisation
> > 
> > Eduardo Valentin (1):
> >       UBUNTU SAUCE [aws]: block: xen-blkfront: consider new dom0 features on restore
> > 
> > Frank van der Linden (2):
> >       UBUNTU SAUCE [aws]: xen: restore pirqs on resume from hibernation.
> >       UBUNTU SAUCE [aws]: xen: Only restore the ACPI SCI interrupt in xen_restore_pirqs.
> > 
> > Vineeth Remanan Pillai (2):
> >       mm: refactor swap-in logic out of shmem_getpage_gfp
> >       mm: rid swapoff of quadratic complexity
> > 
> >  arch/x86/xen/suspend.c           |   2 +
> >  drivers/acpi/acpica/hwsleep.c    |  11 +
> >  drivers/block/xen-blkfront.c     |   3 +
> >  drivers/xen/events/events_base.c |  45 +++
> >  include/linux/frontswap.h        |   7 +
> >  include/linux/shmem_fs.h         |   3 +-
> >  include/xen/events.h             |   1 +
> >  kernel/power/main.c              |   4 +-
> >  kernel/power/snapshot.c          |  10 +-
> >  kernel/power/swap.c              |  24 +-
> >  mm/shmem.c                       | 716 +++++++++++++++++++++------------------
> >  mm/swap.c                        |   2 +-
> >  mm/swap_state.c                  |  60 +---
> >  mm/swapfile.c                    | 433 +++++++++--------------
> >  14 files changed, 646 insertions(+), 675 deletions(-)
> > 
> > -- 
> > kernel-team mailing list
> > kernel-team@lists.ubuntu.com
> > https://lists.ubuntu.com/mailman/listinfo/kernel-team
Khaled Elmously Feb. 13, 2020, 6:50 p.m. UTC | #4
On 2020-02-13 11:36:26 , Andrea Righi wrote:
> On Wed, Feb 12, 2020 at 05:23:10PM -0500, Khaled Elmously wrote:
> > I don't think the following points are necessarily "mistakes", but a few things looked a little strange so I thought I'd point them out:
> >  1- In "UBUNTU SAUCE [aws]: mm: swap: improve swap readahead heuristic", the refactored function "static unsigned long swapin_nr_pages(unsigned long offset)" no longer uses 'offset' at all. Is that expected? Why not change the function signature then?
> 
> I actually thought about changing the signature, but maintaining the
> same prototype reduces the risk of breaking other potential users of
> this function, making the patch easier to maintain.
> 
> >  2- In "UBUNTU SAUCE [aws]: PM / hibernate: make sure pm_async is always disabled", you changed "int pm_async_enabled = 1;" to make it "int pm_async_enabled;" in order to "make sure that pm_async is never enabled" - yet you don't explicitly set it to 0 on initialization. I assume that it will default to 0 (due to BSS initialization?), but I wasn't sure if maybe you had different intentions.
> 
> Yeah.. the comment of this patch is a bit misleading, we actually want
> to set the default to be off, we don't necessarily want to prevent
> having pm_async enabled. Probably a better title would have been:
> "PM / hibernate: make pm_async disabled by default".
> 
> I can change the description and send another pull request.
> 
> >  3- In "UBUNTU SAUCE [aws]: PM / hibernate: set image_size to 0 by default", the patch description says "Set image_size to 0 by default so that..." yet the patch doesn't set image_size to 0 or to any value at all. Maybe by removing the assignment you are ensuring that it will always remain 0 but in that case then the patch description is inaccurate/misleading.
> 
> Removing the code that initializes image_size guarantees that the value
> will be 0 by default, because of bss initialization. I could have added
> an explicit "image_size = 0", but I don't think it's necessary.
> Moreover, like pm_async, we don't want to prevent changing this value,
> we just want to change the default.
> 
> > 
> > 
> > If you can please confirm that you're aware of and OK with those issues, you have my ACK :)
> > 
> > Thanks
> > Khaled
> 
> Thanks for the review!

Thanks for the clarification Andrea. Yeah they didn't really look like mistakes but I just wanted to confirm.

Looks good to me, +1.

But I don't think this patch needs to be nominated separately for aws-edge.. aws-edge should just get those changes when it is rebased on D.

Acked-by: Khalid Elmously <khalid.elmously@canonical.com>


> 
> -Andrea
> 
> > 
> > On 2020-02-11 08:33:35 , Andrea Righi wrote:
> > > BugLink: https://bugs.launchpad.net/bugs/1858618
> > > BugLink: https://bugs.launchpad.net/bugs/1831940
> > > 
> > > The following patches are required to properly support hibernation with
> > > bionic:linux-aws-edge / disco:linux-aws.
> > > 
> > > The most important patch is "PM / hibernate: memory_bm_find_bit():
> > > Tighten node optimisation": this is a very critical bug fix for
> > > hibernation that prevents potential memory corruptions on resume.
> > > 
> > > All the other hibernation-related SAUCE patches are required to improve
> > > swapoff performance after a successful resume.
> > > 
> > > Moreover, some Xen-related patches have been included (ported from
> > > bionic:linux-aws).
> > > 
> > > All these patches have been tested in the AWS environment with positive
> > > results.
> > > 
> > > Changes in v3:
> > >  - added missing BugLink information
> > >  - added "cherry picked" lines for upstream patches
> > > 
> > > Changes in v2:
> > >  - added missing Xen-related patches
> > >  - added pm_async and image_size tunings
> > > 
> > > The following changes since commit 0f84693e79c7c596ac56d952851e0b9527679689:
> > > 
> > >   UBUNTU: Ubuntu-aws-edge-5.0.0-1019.21~18.04.1 (2019-10-03 00:49:16 -0400)
> > > 
> > > are available in the Git repository at:
> > > 
> > >   git://git.launchpad.net/~arighi/+git/bionic-linux aws-edge-arighi
> > > 
> > > for you to fetch changes up to b4aa4088c1582fa27c63532788b4d7087b1bbafa:
> > > 
> > >   UBUNTU SAUCE [aws]: xen: Only restore the ACPI SCI interrupt in xen_restore_pirqs. (2020-02-11 08:32:11 +0100)
> > > 
> > > ----------------------------------------------------------------
> > > Anchal Agarwal (1):
> > >       UBUNTU SAUCE [aws]: ACPICA: Enable sleep button on ACPI legacy wake
> > > 
> > > Andrea Righi (4):
> > >       UBUNTU SAUCE [aws] PM / hibernate: reduce memory pressure during image writing
> > >       UBUNTU SAUCE [aws]: mm: swap: improve swap readahead heuristic
> > >       UBUNTU SAUCE [aws]: PM / hibernate: make sure pm_async is always disabled
> > >       UBUNTU SAUCE [aws]: PM / hibernate: set image_size to 0 by default
> > > 
> > > Andy Whitcroft (1):
> > >       PM / hibernate: memory_bm_find_bit(): Tighten node optimisation
> > > 
> > > Eduardo Valentin (1):
> > >       UBUNTU SAUCE [aws]: block: xen-blkfront: consider new dom0 features on restore
> > > 
> > > Frank van der Linden (2):
> > >       UBUNTU SAUCE [aws]: xen: restore pirqs on resume from hibernation.
> > >       UBUNTU SAUCE [aws]: xen: Only restore the ACPI SCI interrupt in xen_restore_pirqs.
> > > 
> > > Vineeth Remanan Pillai (2):
> > >       mm: refactor swap-in logic out of shmem_getpage_gfp
> > >       mm: rid swapoff of quadratic complexity
> > > 
> > >  arch/x86/xen/suspend.c           |   2 +
> > >  drivers/acpi/acpica/hwsleep.c    |  11 +
> > >  drivers/block/xen-blkfront.c     |   3 +
> > >  drivers/xen/events/events_base.c |  45 +++
> > >  include/linux/frontswap.h        |   7 +
> > >  include/linux/shmem_fs.h         |   3 +-
> > >  include/xen/events.h             |   1 +
> > >  kernel/power/main.c              |   4 +-
> > >  kernel/power/snapshot.c          |  10 +-
> > >  kernel/power/swap.c              |  24 +-
> > >  mm/shmem.c                       | 716 +++++++++++++++++++++------------------
> > >  mm/swap.c                        |   2 +-
> > >  mm/swap_state.c                  |  60 +---
> > >  mm/swapfile.c                    | 433 +++++++++--------------
> > >  14 files changed, 646 insertions(+), 675 deletions(-)
> > > 
> > > -- 
> > > kernel-team mailing list
> > > kernel-team@lists.ubuntu.com
> > > https://lists.ubuntu.com/mailman/listinfo/kernel-team
Khaled Elmously Feb. 14, 2020, 8:03 a.m. UTC | #5
On 2020-02-11 08:33:35 , Andrea Righi wrote:
> BugLink: https://bugs.launchpad.net/bugs/1858618
> BugLink: https://bugs.launchpad.net/bugs/1831940
> 
> The following patches are required to properly support hibernation with
> bionic:linux-aws-edge / disco:linux-aws.
> 
> The most important patch is "PM / hibernate: memory_bm_find_bit():
> Tighten node optimisation": this is a very critical bug fix for
> hibernation that prevents potential memory corruptions on resume.
> 
> All the other hibernation-related SAUCE patches are required to improve
> swapoff performance after a successful resume.
> 
> Moreover, some Xen-related patches have been included (ported from
> bionic:linux-aws).
> 
> All these patches have been tested in the AWS environment with positive
> results.
> 
> Changes in v3:
>  - added missing BugLink information
>  - added "cherry picked" lines for upstream patches
> 
> Changes in v2:
>  - added missing Xen-related patches
>  - added pm_async and image_size tunings
> 
> The following changes since commit 0f84693e79c7c596ac56d952851e0b9527679689:
> 
>   UBUNTU: Ubuntu-aws-edge-5.0.0-1019.21~18.04.1 (2019-10-03 00:49:16 -0400)
> 
> are available in the Git repository at:
> 
>   git://git.launchpad.net/~arighi/+git/bionic-linux aws-edge-arighi
> 
> for you to fetch changes up to b4aa4088c1582fa27c63532788b4d7087b1bbafa:
> 
>   UBUNTU SAUCE [aws]: xen: Only restore the ACPI SCI interrupt in xen_restore_pirqs. (2020-02-11 08:32:11 +0100)
> 
> ----------------------------------------------------------------
> Anchal Agarwal (1):
>       UBUNTU SAUCE [aws]: ACPICA: Enable sleep button on ACPI legacy wake
> 
> Andrea Righi (4):
>       UBUNTU SAUCE [aws] PM / hibernate: reduce memory pressure during image writing
>       UBUNTU SAUCE [aws]: mm: swap: improve swap readahead heuristic
>       UBUNTU SAUCE [aws]: PM / hibernate: make sure pm_async is always disabled
>       UBUNTU SAUCE [aws]: PM / hibernate: set image_size to 0 by default
> 
> Andy Whitcroft (1):
>       PM / hibernate: memory_bm_find_bit(): Tighten node optimisation
> 
> Eduardo Valentin (1):
>       UBUNTU SAUCE [aws]: block: xen-blkfront: consider new dom0 features on restore
> 
> Frank van der Linden (2):
>       UBUNTU SAUCE [aws]: xen: restore pirqs on resume from hibernation.
>       UBUNTU SAUCE [aws]: xen: Only restore the ACPI SCI interrupt in xen_restore_pirqs.
> 
> Vineeth Remanan Pillai (2):
>       mm: refactor swap-in logic out of shmem_getpage_gfp
>       mm: rid swapoff of quadratic complexity
> 
>  arch/x86/xen/suspend.c           |   2 +
>  drivers/acpi/acpica/hwsleep.c    |  11 +
>  drivers/block/xen-blkfront.c     |   3 +
>  drivers/xen/events/events_base.c |  45 +++
>  include/linux/frontswap.h        |   7 +
>  include/linux/shmem_fs.h         |   3 +-
>  include/xen/events.h             |   1 +
>  kernel/power/main.c              |   4 +-
>  kernel/power/snapshot.c          |  10 +-
>  kernel/power/swap.c              |  24 +-
>  mm/shmem.c                       | 716 +++++++++++++++++++++------------------
>  mm/swap.c                        |   2 +-
>  mm/swap_state.c                  |  60 +---
>  mm/swapfile.c                    | 433 +++++++++--------------
>  14 files changed, 646 insertions(+), 675 deletions(-)
> 
> -- 
> kernel-team mailing list
> kernel-team@lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team
Khaled Elmously Feb. 17, 2020, 4:54 a.m. UTC | #6
Applied to bionic-aws/aws-5.0-next


On 2020-02-11 08:33:35 , Andrea Righi wrote:
> BugLink: https://bugs.launchpad.net/bugs/1858618
> BugLink: https://bugs.launchpad.net/bugs/1831940
> 
> The following patches are required to properly support hibernation with
> bionic:linux-aws-edge / disco:linux-aws.
> 
> The most important patch is "PM / hibernate: memory_bm_find_bit():
> Tighten node optimisation": this is a very critical bug fix for
> hibernation that prevents potential memory corruptions on resume.
> 
> All the other hibernation-related SAUCE patches are required to improve
> swapoff performance after a successful resume.
> 
> Moreover, some Xen-related patches have been included (ported from
> bionic:linux-aws).
> 
> All these patches have been tested in the AWS environment with positive
> results.
> 
> Changes in v3:
>  - added missing BugLink information
>  - added "cherry picked" lines for upstream patches
> 
> Changes in v2:
>  - added missing Xen-related patches
>  - added pm_async and image_size tunings
> 
> The following changes since commit 0f84693e79c7c596ac56d952851e0b9527679689:
> 
>   UBUNTU: Ubuntu-aws-edge-5.0.0-1019.21~18.04.1 (2019-10-03 00:49:16 -0400)
> 
> are available in the Git repository at:
> 
>   git://git.launchpad.net/~arighi/+git/bionic-linux aws-edge-arighi
> 
> for you to fetch changes up to b4aa4088c1582fa27c63532788b4d7087b1bbafa:
> 
>   UBUNTU SAUCE [aws]: xen: Only restore the ACPI SCI interrupt in xen_restore_pirqs. (2020-02-11 08:32:11 +0100)
> 
> ----------------------------------------------------------------
> Anchal Agarwal (1):
>       UBUNTU SAUCE [aws]: ACPICA: Enable sleep button on ACPI legacy wake
> 
> Andrea Righi (4):
>       UBUNTU SAUCE [aws] PM / hibernate: reduce memory pressure during image writing
>       UBUNTU SAUCE [aws]: mm: swap: improve swap readahead heuristic
>       UBUNTU SAUCE [aws]: PM / hibernate: make sure pm_async is always disabled
>       UBUNTU SAUCE [aws]: PM / hibernate: set image_size to 0 by default
> 
> Andy Whitcroft (1):
>       PM / hibernate: memory_bm_find_bit(): Tighten node optimisation
> 
> Eduardo Valentin (1):
>       UBUNTU SAUCE [aws]: block: xen-blkfront: consider new dom0 features on restore
> 
> Frank van der Linden (2):
>       UBUNTU SAUCE [aws]: xen: restore pirqs on resume from hibernation.
>       UBUNTU SAUCE [aws]: xen: Only restore the ACPI SCI interrupt in xen_restore_pirqs.
> 
> Vineeth Remanan Pillai (2):
>       mm: refactor swap-in logic out of shmem_getpage_gfp
>       mm: rid swapoff of quadratic complexity
> 
>  arch/x86/xen/suspend.c           |   2 +
>  drivers/acpi/acpica/hwsleep.c    |  11 +
>  drivers/block/xen-blkfront.c     |   3 +
>  drivers/xen/events/events_base.c |  45 +++
>  include/linux/frontswap.h        |   7 +
>  include/linux/shmem_fs.h         |   3 +-
>  include/xen/events.h             |   1 +
>  kernel/power/main.c              |   4 +-
>  kernel/power/snapshot.c          |  10 +-
>  kernel/power/swap.c              |  24 +-
>  mm/shmem.c                       | 716 +++++++++++++++++++++------------------
>  mm/swap.c                        |   2 +-
>  mm/swap_state.c                  |  60 +---
>  mm/swapfile.c                    | 433 +++++++++--------------
>  14 files changed, 646 insertions(+), 675 deletions(-)
> 
> -- 
> kernel-team mailing list
> kernel-team@lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team