From: Gleb Natapov <gleb@redhat.com>
To: Michael Tokarev <mjt@tls.msk.ru>
Cc: KVM list <kvm@vger.kernel.org>
Subject: Re: guest suspend/resume & virtio: vring errors
Date: Sat, 9 Jul 2011 15:07:04 +0300 [thread overview]
Message-ID: <20110709120704.GJ10249@redhat.com> (raw)
In-Reply-To: <4E18415C.7070501@msgid.tls.msk.ru>
On Sat, Jul 09, 2011 at 03:54:04PM +0400, Michael Tokarev wrote:
> 09.07.2011 14:36, Gleb Natapov wrote:
> > On Sat, Jul 09, 2011 at 02:09:46PM +0400, Michael Tokarev wrote:
>
> >>> Heh. Is this S4 or S3 suspend resume? Looks like recent breakage.
> >>> The only knows problem to me is in win7/2008 S3 resume + net.
> >>
> >> How can I know if it's S3 or S4? And I can't say it's recent:
> > S3 is suspend to memory, S4 is suspend to disk. Don't remember how
> > different version of Windows call them. Actually win7 disables S3
> > when running on qemu with cirrus adapter, so you are probably doing
> > S4.
>
> Ahh, yes, I remember now. Yes I used suspend-to-disk aka
> hybernation on windows. And actually there's no error in
> there - it works. I thought it is stuck in an endless loop,
> but it actually did suspending and it completes eventially.
> The only problem is that it does not show anything at all,
> no progress, no messages, no nothing - the screen is completely
> blank.
>
> That's with -vga std which I usually use. I just retried with
> cirrus and the effect is the same -- blank guest screen and 100%
> cpu usage, but it takes much much longer to complete for some
> reason - several minutes instead of ~30s. It also takes lots
> of time when resuming, and the thing is less reliable too --
> I've seen ~50/50 failure ratio at resuming with -vga cirrus.
>
So hibernate works for you, but slow. Try to check with cache=unsafe.
Resume failures look strange to me. Don't remember seen them even once.
> >> 0.14.1 works (or actually does not work) exactly the same in
> >> this respect as current git: suspend/resume is equally broken.
> > Suspend to disk worked flawlessly for me with Windows. There is nothing
> > special qemu should do for it to work. I haven't checked it on upstream
> > for a long time though. Can you check 0.12?
>
> It looks like 0.12 works the same way - at least the behavour
> is very similar. I also tried current qemu-kvm git and there,
> things are the same.
>
> >>>> What's wrong/broken in linux? Can it be fixed?
> >>>>
> >>> Complete lack of regression testing.
> >>
> >> Hm. You wrote:
> >>
> >>> Yes, but Linux and suspend/resume are not best friends. Sometimes it
> >>> works by mistake, but next merged patch fixes it and suspend/resume
> >>> returns to its normal broken state.
> >>
> >> So regression testing should detect and raise an alarm
> >> when it works by mistake. But can it be fixed to work
> >> by design instead, after which regression testing gets
> >> entrirely new meaning ? :)
> >>
> > Well S4/S3 is pet peeve of mine, so I little bit exaggerated :) Design
> > is not enough. Testing is needed. On Windows a driver that can't properly
> > handle S3/S4 will not pass WHQL, will not be signed by MS and will never
> > be loaded by the OS.
>
> So I'm completely confused. Is virtio designed to work or to fail
> on suspend/resume cycle? If the former, regression testing will
> help. If the latter, the design should be fixed first... ;)
>
> According to your words above it's designed to fail, so to say.
>
Ah you mixed my comments about virtio drivers specifically and Linux as
a whole kernel :). Linux in general designed to support hibernation, but
it requires cooperation of many subsystems and failure of one of them
means failure to hibernate. That is where a lot of testing is needed.
PCI subsystem has PM support, but not all driver implement their part
properly, or, as in case of virtio, at all.
> Also, as far as I can see, it should be fixed on the guest side,
> ie, in linux virtio drivers, not in qemu/kvm (which appears to
> work with windows guests), right?
>
Correct. AFAIK Amit is working on this.
--
Gleb.
prev parent reply other threads:[~2011-07-09 12:07 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-08 19:02 guest suspend/resume & virtio: vring errors Michael Tokarev
2011-07-09 9:17 ` Gleb Natapov
2011-07-09 9:47 ` Michael Tokarev
2011-07-09 9:55 ` Gleb Natapov
2011-07-09 10:09 ` Michael Tokarev
2011-07-09 10:36 ` Gleb Natapov
2011-07-09 11:54 ` Michael Tokarev
2011-07-09 12:07 ` Gleb Natapov [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110709120704.GJ10249@redhat.com \
--to=gleb@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=mjt@tls.msk.ru \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox