[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <PU1P153MB0169062227FBE0A039EE4FCCBF8B0@PU1P153MB0169.APCP153.PROD.OUTLOOK.COM>
Date: Sat, 21 Sep 2019 07:26:34 +0000
From: Dexuan Cui <decui@...rosoft.com>
To: vkuznets <vkuznets@...hat.com>
CC: KY Srinivasan <kys@...rosoft.com>,
Haiyang Zhang <haiyangz@...rosoft.com>,
Stephen Hemminger <sthemmin@...rosoft.com>,
"sashal@...nel.org" <sashal@...nel.org>,
"linux-hyperv@...r.kernel.org" <linux-hyperv@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Michael Kelley <mikelley@...rosoft.com>
Subject: RE: [PATCH 1/3] hv_utils: Add the support of hibernation
> From: Vitaly Kuznetsov <vkuznets@...hat.com>
> Sent: Thursday, September 19, 2019 3:28 AM
>
> Dexuan Cui <decui@...rosoft.com> writes:
>
> > BTW, for vss, maybe the VM should not hibernate if there is a backup
> > ongoing? -- if the file system is frozen by hv_vss_daemon, and the VM
> > hibernates, then when the VM resumes back, it's almost always true that
> > the VM won't receive the host's VSS_OP_THAW request, and the VM will
> > end up in an unusable state.
>
> Makes sense. Or, alternatively, can we postpone hibernation until after
> VSS_OP_THAW?
>
> Vitaly
It looks we should not postpone that, because:
1. When we're in util_suspend(), all the user space processes have been
frozen, so even if the VM receives the VSS_OP_THAW message form the host,
there is no chance for the hv_vss_daemon to handle it.
2. Between the window the host sends the VSS_OP_FREEZE message and the
VSS_OP_THAW mesasge, util_suspend() may jump in and close the channel,
and then the host will not send a VSS_OP_THAW.
3. The host doesn't guarantee how soon it sends the VSS_OP_THAW message,
though in practice IIRC the host *usually* sends the message soon. The
hibernation process has a watchdog of 120s set by dpm_watchdog_set(): if
dpm_suspend() (which calls util_probe()) can not finish in 120 seconds, the
hibernation will be aborted.
3 may not look like a strong reason, but generally speaking I'd like to avoid
an indeterminate dependency.
Thanks,
-- Dexuan
Powered by blists - more mailing lists