[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [QEMU PATCH v4 0/1] S3 support


  • To: "Chen, Jiqian" <Jiqian.Chen@xxxxxxx>, Gerd Hoffmann <kraxel@xxxxxxxxxx>, Marc-André Lureau <marcandre.lureau@xxxxxxxxx>, "Michael S . Tsirkin" <mst@xxxxxxxxxx>, Robert Beckett <bob.beckett@xxxxxxxxxxxxx>, "qemu-devel@xxxxxxxxxx" <qemu-devel@xxxxxxxxxx>
  • From: "Chen, Jiqian" <Jiqian.Chen@xxxxxxx>
  • Date: Fri, 11 Aug 2023 07:18:58 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=6LQih2CHe0SY021lo2qYbsq9fAdP21DDwWynDZMOtY4=; b=FoIVQZZdqCDUXavnPvY4SQaEsOFbF/rEmr6vl1Eb/dvKDg85X8yA516zIAeMvJlGi5v+3To6irBA+EWD7ZMdj+Piv4lR+xGEKYNEyFP+DX+abcSYzUKVN/Gf83qhbO5w5w2Z7q1/bJXclzA34o64SXMzhlVY59reMeMKO90vk1gAukZ0sDq9mkcm5EP1oYXWjqkaDCfCaOXkXzbqyZY95yvIJ55Gpky2I6O+uSl+ken46GAOlt1qfysfOvLLf6YUHJjvbETDIJtd5xV2pyQW749+THk5k/ToHcdJoZSKcr6h97bsi5L4RQf+qXrCyFk14ALVKD0MlyI4iZ7hjCiyuA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bKoVuY5xjgBEkcEz98reS+T0cRz5opLteF2+gkqYAHXTqW58pv/kwWjWAGsYi0MWUVLEdqT6M3MhqY+P68KjFJE9cr4LXTf0Wj32wV5LkOzaXk2VtNBlDomgu6wZ+f/bwSJ+KvzUIGJ6pfeE7ITycZYG6YTsa1ODQPv5QC7EoiUlnloN0vutcPzzfDrnpMap2VzTVGfwbIJyJhVjcu49loVaWPZa++zT2FrirSng8KoUp6x24Jw1JuTvAaLIYfhP786J7P+jYFT9wlPF9DZOHxx2nesHyUtwW4S8zj1xBEg6ap0EpFppGoNjw19pWUnBPKsoRyJ2LOoYVUFTpzbUPQ==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com;
  • Cc: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, "Dr . David Alan Gilbert" <dgilbert@xxxxxxxxxx>, "Deucher, Alexander" <Alexander.Deucher@xxxxxxx>, "Koenig, Christian" <Christian.Koenig@xxxxxxx>, "Hildebrand, Stewart" <Stewart.Hildebrand@xxxxxxx>, Xenia Ragiadakou <burzalodowa@xxxxxxxxx>, "Huang, Honglei1" <Honglei1.Huang@xxxxxxx>, "Zhang, Julia" <Julia.Zhang@xxxxxxx>, "Huang, Ray" <Ray.Huang@xxxxxxx>
  • Delivery-date: Fri, 11 Aug 2023 07:19:14 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-index: AQHZuwLsbW42un3+5UCTG4JhRKUU2a/lVBMA
  • Thread-topic: [QEMU PATCH v4 0/1] S3 support

Hi all,
Please forgive me for asking. Do you have any other comments on my latest 
version patches about virtio-gpu S3 on Xen? Looking forward to your reply.


On 2023/7/20 20:08, Jiqian Chen wrote:
> v4:
> 
> Hi all,
> Thanks for Gerd Hoffmann's advice. V4 makes below changes:
> * Use enum for freeze mode, so this can be extended with more
>   modes in the future.
> * Rename functions and paratemers with "_S3" postfix.
> And no functional changes.
> 
> latest version on kernel side:
> https://lore.kernel.org/lkml/20230720115805.8206-1-Jiqian.Chen@xxxxxxx/T/#t
> 
> Best regards,
> Jiqian Chen.
> 
> 
> v3:
> link,
> https://lore.kernel.org/qemu-devel/20230719074726.1613088-1-Jiqian.Chen@xxxxxxx/T/#t
> 
> Hi all,
> Thanks for Michael S. Tsirkin's advice. V3 makes below changes:
> * Remove changes in file include/standard-headers/linux/virtio_gpu.h
>   I am not supposed to edit this file and it will be imported after
>   the patches of linux kernel was merged.
> 
> 
> v2:
> link,
> https://lore.kernel.org/qemu-devel/20230630070016.841459-1-Jiqian.Chen@xxxxxxx/T/#t
> 
> Hi all,
> Thanks to Marc-André Lureau, Robert Beckett and Gerd Hoffmann for
> their advice and guidance. V2 makes below changes:
> 
> * Change VIRTIO_CPU_CMD_STATUS_FREEZING to 0x0400 (<0x1000)
> * Add virtio_gpu_device_unrealize to destroy resources to solve
>   potential memory leak problem. This also needs hot-plug support.
> * Add a new feature flag VIRTIO_GPU_F_FREEZING, so that guest and
>   host can negotiate whenever freezing is supported or not.
> 
> v1:
> link,
> https://lore.kernel.org/qemu-devel/20230608025655.1674357-1-Jiqian.Chen@xxxxxxx/
> 
> Hi all,
> I am working to implement virtgpu S3 function on Xen.
> 
> Currently on Xen, if we start a guest who enables virtgpu, and then
> run "echo mem > /sys/power/state" to suspend guest. And run
> "sudo xl trigger <guest id> s3resume" to resume guest. We can find that
> the guest kernel comes back, but the display doesn't. It just shown a
> black screen.
> 
> Through reading codes, I founded that when guest was during suspending,
> it called into Qemu to call virtio_gpu_gl_reset. In virtio_gpu_gl_reset,
> it destroyed all resources and reset renderer. This made the display
> gone after guest resumed.
> 
> I think we should keep resources or prevent they being destroyed when
> guest is suspending. So, I add a new status named freezing to virtgpu,
> and add a new ctrl message VIRTIO_GPU_CMD_STATUS_FREEZING to get
> notification from guest. If freezing is set to true, and then Qemu will
> realize that guest is suspending, it will not destroy resources and will
> not reset renderer. If freezing is set to false, Qemu will do its origin
> actions, and has no other impaction.
> 
> And now, display can come back and applications can continue their
> status after guest resumes.
> 
> Jiqian Chen (1):
>   virtgpu: do not destroy resources when guest suspend
> 
>  hw/display/virtio-gpu-base.c   |  3 ++
>  hw/display/virtio-gpu-gl.c     | 10 ++++++-
>  hw/display/virtio-gpu-virgl.c  |  7 +++++
>  hw/display/virtio-gpu.c        | 55 ++++++++++++++++++++++++++++++++--
>  hw/virtio/virtio.c             |  3 ++
>  include/hw/virtio/virtio-gpu.h |  6 ++++
>  6 files changed, 81 insertions(+), 3 deletions(-)
> 

-- 
Best regards,
Jiqian Chen.

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.