mbox series

[v2,0/2] Fix test_resume failure by openning swap device non-exclusively

Message ID cover.1681186310.git.yu.c.chen@intel.com (mailing list archive)
Headers show
Series Fix test_resume failure by openning swap device non-exclusively | expand

Message

Chen Yu April 11, 2023, 12:18 p.m. UTC
test_resume does not work in current kernel when using swapfile for hibernation.
This is because the swap device should be openned non-exclusively in test_resume mode.

Patch 1 is a preparation for patch 2 and it turns snapshot_test into a global variable.
Patch 2 opens swap device non-exclusively for test_resume mode, and exclusively for manual
hibernation resume.

Change since v1:
Turn snapshot_test into global variable and do not introduce parameters for swsusp_check()
nor load_image_and_restore().


Chen Yu (2):
  PM: hibernate: Turn snapshot_test into global variable
  PM: hibernate: Do not get block device exclusively in test_resume mode

 kernel/power/hibernate.c | 12 +++++++++---
 kernel/power/power.h     |  1 +
 kernel/power/swap.c      |  5 +++--
 3 files changed, 13 insertions(+), 5 deletions(-)

Comments

Pavan Kondeti April 11, 2023, 5:30 a.m. UTC | #1
On Tue, Apr 11, 2023 at 08:18:43PM +0800, Chen Yu wrote:
> test_resume does not work in current kernel when using swapfile for hibernation.
> This is because the swap device should be openned non-exclusively in test_resume mode.
> 
> Patch 1 is a preparation for patch 2 and it turns snapshot_test into a global variable.
> Patch 2 opens swap device non-exclusively for test_resume mode, and exclusively for manual
> hibernation resume.
> 
> Change since v1:
> Turn snapshot_test into global variable and do not introduce parameters for swsusp_check()
> nor load_image_and_restore().
> 
> 
> Chen Yu (2):
>   PM: hibernate: Turn snapshot_test into global variable
>   PM: hibernate: Do not get block device exclusively in test_resume mode
> 
>  kernel/power/hibernate.c | 12 +++++++++---
>  kernel/power/power.h     |  1 +
>  kernel/power/swap.c      |  5 +++--
>  3 files changed, 13 insertions(+), 5 deletions(-)
> 
Looks good to me.

I have verified test_resume on QEMU arm64 and it worked fine with
these two patches included.

Thanks,
Pavan
Chen Yu April 12, 2023, 1:13 a.m. UTC | #2
On 2023-04-11 at 11:00:50 +0530, Pavan Kondeti wrote:
> On Tue, Apr 11, 2023 at 08:18:43PM +0800, Chen Yu wrote:
> > test_resume does not work in current kernel when using swapfile for hibernation.
> > This is because the swap device should be openned non-exclusively in test_resume mode.
> > 
> > Patch 1 is a preparation for patch 2 and it turns snapshot_test into a global variable.
> > Patch 2 opens swap device non-exclusively for test_resume mode, and exclusively for manual
> > hibernation resume.
> > 
> > Change since v1:
> > Turn snapshot_test into global variable and do not introduce parameters for swsusp_check()
> > nor load_image_and_restore().
> > 
> > 
> > Chen Yu (2):
> >   PM: hibernate: Turn snapshot_test into global variable
> >   PM: hibernate: Do not get block device exclusively in test_resume mode
> > 
> >  kernel/power/hibernate.c | 12 +++++++++---
> >  kernel/power/power.h     |  1 +
> >  kernel/power/swap.c      |  5 +++--
> >  3 files changed, 13 insertions(+), 5 deletions(-)
> > 
> Looks good to me.
> 
> I have verified test_resume on QEMU arm64 and it worked fine with
> these two patches included.
>
Thanks, can I add your Tested-by tag?

thanks,
Chenyu 
> Thanks,
> Pavan
Pavan Kondeti April 12, 2023, 4:36 a.m. UTC | #3
On Wed, Apr 12, 2023 at 09:13:55AM +0800, Chen Yu wrote:
> On 2023-04-11 at 11:00:50 +0530, Pavan Kondeti wrote:
> > On Tue, Apr 11, 2023 at 08:18:43PM +0800, Chen Yu wrote:
> > > test_resume does not work in current kernel when using swapfile for hibernation.
> > > This is because the swap device should be openned non-exclusively in test_resume mode.
> > > 
> > > Patch 1 is a preparation for patch 2 and it turns snapshot_test into a global variable.
> > > Patch 2 opens swap device non-exclusively for test_resume mode, and exclusively for manual
> > > hibernation resume.
> > > 
> > > Change since v1:
> > > Turn snapshot_test into global variable and do not introduce parameters for swsusp_check()
> > > nor load_image_and_restore().
> > > 
> > > 
> > > Chen Yu (2):
> > >   PM: hibernate: Turn snapshot_test into global variable
> > >   PM: hibernate: Do not get block device exclusively in test_resume mode
> > > 
> > >  kernel/power/hibernate.c | 12 +++++++++---
> > >  kernel/power/power.h     |  1 +
> > >  kernel/power/swap.c      |  5 +++--
> > >  3 files changed, 13 insertions(+), 5 deletions(-)
> > > 
> > Looks good to me.
> > 
> > I have verified test_resume on QEMU arm64 and it worked fine with
> > these two patches included.
> >
> Thanks, can I add your Tested-by tag?
> 
Sure. Pls add 

Tested-by: Pavankumar Kondeti <quic_pkondeti@quicinc.com>

Thanks,
Pavan