[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [QEMU PATCH 0/1]
- To: Gerd Hoffmann <kraxel@xxxxxxxxxx>, "Michael S . Tsirkin" <mst@xxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Antonio Caggiano <antonio.caggiano@xxxxxxxxxxxxx>, "Dr . David Alan Gilbert" <dgilbert@xxxxxxxxxx>, Robert Beckett <bob.beckett@xxxxxxxxxxxxx>, "qemu-devel@xxxxxxxxxx" <qemu-devel@xxxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
- From: "Chen, Jiqian" <Jiqian.Chen@xxxxxxx>
- Date: Thu, 8 Jun 2023 07:06:54 +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=l4coUB961KUBDW+TwzRGeXmOkSZMYjTGe4/4ArywONo=; b=jvWTvPBqS5xPtEC2AKVhdQ5ipeSVU/gAKdaSUA5HksSexGsA/ojU3hgy8TTiKhV+gkfNvkG1rrH1B1jBqOz98lhhqqRJCnpp/kNBpyRShjmuYd9PMwMuJqAnYwCa8K/1/3pFwj9CfgxoTjjAfJo5hA64ZHfPYWSlTVuGYZqI/BT/ug8xe0fbhn3ft67XXu+D/cflVZylacNtSvU7hKxwws0krfCQKdIjfXZw8e8WnOaUwzJkixOhodw/pGIHX4aAUsUfGQYRjaX/W00wW7337xgD2STuLquAm+LxSh4JKZLqQ8RsvxTKjXpDVvrp0wR8yzY5s4nUfHsNaMtV8bKqSg==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=d3gPtMfabsJAAGISuVmhFQJ+3NVB5iNQr3JD8k5W0odouWwwvleLwGUBv7BclnI7z3skEzEfzig12Zkf5bq+3h0NFqPeg6qoOFovxBSMJB83WLttRtRN42eK9Cj1//70zmifGCfwbBA1/hH39qhkueuSAXoIH5NxQX4pmzEDjGW6jgcY2d2p0uXIJ5o4FzXFPzOYllnHjNnFW4D+dzQ1R/UaBzr/qvGBdFd9Bx3QATL7SrrWKwbpcrHvk8fwt426UJ2/5R2hsqcEKYtij9yyzaM5XzPdqPv2mJdN6r4pXPFiE4IUg2cRidkZJ5IretOtQdJ6KcOip3N44tYd8TLjvg==
- Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com;
- Cc: "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>, "Chen, Jiqian" <Jiqian.Chen@xxxxxxx>
- Delivery-date: Thu, 08 Jun 2023 07:07:10 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
- Thread-index: AQHZmbUg+D/AFshzGkyCkFnupRc4g6+BASWA
- Thread-topic: [QEMU PATCH 0/1]
Hi all,
Modifications on kernel end is:
https://lore.kernel.org/lkml/20230608063857.1677973-2-Jiqian.Chen@xxxxxxx/T/#u
On 2023/6/8 10:56, Jiqian Chen wrote:
> 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-gl.c | 9 ++++++-
> hw/display/virtio-gpu-virgl.c | 3 +++
> hw/display/virtio-gpu.c | 26 +++++++++++++++++++--
> include/hw/virtio/virtio-gpu.h | 3 +++
> include/standard-headers/linux/virtio_gpu.h | 9 +++++++
> 5 files changed, 47 insertions(+), 3 deletions(-)
>
--
Best regards,
Chen, Jiqian.
|