linux-hyperv.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 00/12] Enhance the hv_vmbus driver to support hibernation
@ 2019-08-20  1:51 Dexuan Cui
  2019-08-20  1:51 ` [PATCH v3 01/12] x86/hyper-v: Suspend/resume the hypercall page for hibernation Dexuan Cui
                   ` (11 more replies)
  0 siblings, 12 replies; 25+ messages in thread
From: Dexuan Cui @ 2019-08-20  1:51 UTC (permalink / raw)
  To: linux-hyperv, gregkh, Stephen Hemminger, Sasha Levin, sashal,
	Haiyang Zhang, KY Srinivasan, Michael Kelley, tglx
  Cc: linux-kernel, Dexuan Cui

Hi all,
The patchset is to enhance hv_vmbus to support hibernation when Linux VM
runs on Hyper-V. A second patchset to enhance the high-level VSC drivers
(hv_netvsc, hv_storvsc, etc.) for hibernation will be posted after this
patchset is acceped. If you want to test this hibernation feaure, all the
needed patches can be found on my github branch:
https://github.com/dcui/linux/commits/decui/hibernation/2019-0818/v5.3-rc5

This patchset is based on v5.3-rc5.  

Please review.

Hi tglx,
I hope all the 12 patchset, including the below 3 patches,

[PATCH v3 01/12] x86/hyper-v: Suspend/resume the hypercall page for hibernation
[PATCH v3 02/12] x86/hyper-v: Implement hv_is_hibernation_supported()
[PATCH v3 03/12] clocksource/drivers: Suspend/resume Hyper-V

can go through Sasha's hyperv/linux.git tree, since all the changes belong
to the hv stuff. However, if you think it's better for these 3 patches to go
through the tip.git tree, it also works for me.

Hi Michael Kelley,
I added your Reviewed-by's for patch 1, 3, 4, 5, 7 and 9, since you reviewed
these patches. Please review the others.

Looking forward to your comments!

Thanks,
Dexuan

Changes in v2:
  Patch 3: Improved the changelog and added a comment.

  Patch 4: Remove the "hv_stimer_cleanup" in hv_synic_suspend(), because I
           suppose https://lkml.org/lkml/2019/7/27/5 will be accepted. Also
           improved changelog and the comment.

  Patch 5: Fixed the third argument of print_hex_dump_debug(). Also improved
           the changelog.

  Patch 6: Improved the changelog and the comment. Added a check for the
           'vmbus_proto_version' in vmbus_bus_resume().

Changes in v3:
  Patch 2: Add a new API hv_is_hibernation_supported().

  Patch 6: Add a new helper function is_sub_channel().

  Patch 8: Find the old channels via Instance GUID rather than the RELID.

  Patch 10: Add code to clean up  hv_sock channels by force

  Patch 11: Add code to wait in the suspend path: all the hv_sock channels
            and sub-channels should be cleaned up first before Linux sends
            the VMBUS UNLOAD message.

  Patch 12: Add code to fix up the old primary channels before further
            resuming.

Dexuan Cui (12):
  x86/hyper-v: Suspend/resume the hypercall page for hibernation
  x86/hyper-v: Implement hv_is_hibernation_supported()
  clocksource/drivers: Suspend/resume Hyper-V clocksource for
    hibernation
  Drivers: hv: vmbus: Break out synic enable and disable operations
  Drivers: hv: vmbus: Suspend/resume the synic for hibernation
  Drivers: hv: vmbus: Add a helper function is_sub_channel()
  Drivers: hv: vmbus: Implement suspend/resume for VSC drivers for
    hibernation
  Drivers: hv: vmbus: Ignore the offers when resuming from hibernation
  Drivers: hv: vmbus: Suspend/resume the vmbus itself for hibernation
  Drivers: hv: vmbus: Clean up hv_sock channels by force upon suspend
  Drivers: hv: vmbus: Suspend after cleaning up hv_sock and sub channels
  Drivers: hv: vmbus: Resume after fixing up old primary channels

 arch/x86/hyperv/hv_init.c          |  41 ++++++
 drivers/clocksource/hyperv_timer.c |  25 ++++
 drivers/hv/channel_mgmt.c          | 127 +++++++++++++++---
 drivers/hv/connection.c            |  35 ++++-
 drivers/hv/hv.c                    |  66 ++++++----
 drivers/hv/hyperv_vmbus.h          |  33 +++++
 drivers/hv/vmbus_drv.c             | 262 +++++++++++++++++++++++++++++++++++++
 include/asm-generic/mshyperv.h     |   2 +
 include/linux/hyperv.h             |  16 ++-
 9 files changed, 558 insertions(+), 49 deletions(-)

-- 
1.8.3.1


^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2019-08-31  5:08 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-20  1:51 [PATCH v3 00/12] Enhance the hv_vmbus driver to support hibernation Dexuan Cui
2019-08-20  1:51 ` [PATCH v3 01/12] x86/hyper-v: Suspend/resume the hypercall page for hibernation Dexuan Cui
2019-08-20  1:51 ` [PATCH v3 02/12] x86/hyper-v: Implement hv_is_hibernation_supported() Dexuan Cui
2019-08-23 19:50   ` Michael Kelley
2019-08-30 23:37     ` Dexuan Cui
2019-08-20  1:52 ` [PATCH v3 03/12] clocksource/drivers: Suspend/resume Hyper-V clocksource for hibernation Dexuan Cui
2019-08-20  1:52 ` [PATCH v3 04/12] Drivers: hv: vmbus: Break out synic enable and disable operations Dexuan Cui
2019-08-20  1:52 ` [PATCH v3 05/12] Drivers: hv: vmbus: Suspend/resume the synic for hibernation Dexuan Cui
2019-08-20  1:52 ` [PATCH v3 06/12] Drivers: hv: vmbus: Add a helper function is_sub_channel() Dexuan Cui
2019-08-23 19:51   ` Michael Kelley
2019-08-20  1:52 ` [PATCH v3 07/12] Drivers: hv: vmbus: Implement suspend/resume for VSC drivers for hibernation Dexuan Cui
2019-08-20  1:52 ` [PATCH v3 08/12] Drivers: hv: vmbus: Ignore the offers when resuming from hibernation Dexuan Cui
2019-08-23 19:56   ` Michael Kelley
2019-08-31  0:23     ` Dexuan Cui
2019-08-20  1:52 ` [PATCH v3 09/12] Drivers: hv: vmbus: Suspend/resume the vmbus itself for hibernation Dexuan Cui
2019-08-20  1:52 ` [PATCH v3 10/12] Drivers: hv: vmbus: Clean up hv_sock channels by force upon suspend Dexuan Cui
2019-08-23 20:02   ` Michael Kelley
2019-08-31  2:00     ` Dexuan Cui
2019-08-20  1:52 ` [PATCH v3 11/12] Drivers: hv: vmbus: Suspend after cleaning up hv_sock and sub channels Dexuan Cui
2019-08-23 20:16   ` Michael Kelley
2019-08-31  2:54     ` Dexuan Cui
2019-08-20  1:52 ` [PATCH v3 12/12] Drivers: hv: vmbus: Resume after fixing up old primary channels Dexuan Cui
2019-08-23 20:25   ` Michael Kelley
2019-08-31  4:37     ` Dexuan Cui
2019-08-31  5:08       ` Dexuan Cui

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).