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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.