qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] qemu and software suspend


From: ace
Subject: Re: [Qemu-devel] qemu and software suspend
Date: Tue, 15 Nov 2005 21:06:25 +0100
User-agent: Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.7.8) Gecko/20050511

Oliver Gerlich wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> ace schrieb:
> 
>>Hi.
>>
>>Has somebody tried to hibernate Linux while qemu is running?
>>Here is my experience:
>>1. I was running qemu 0.7.2 fullscreen (under X with SDL),
>>on Linux 2.6.14 host, with Win95 quest. All was fine,
>>together with kqemu.
>>2. I changed to a virtual console and initiated hibernate
>>(software suspend2 2.2-rc9). Everything latest stuff :)
>>3. That's when weird things started. The kernel throwed
>>a "BUG", with the usual instruction and stack dump. The
>>offending process was kswapd0.
>>4. But it successfully hibernated anyway. This was my first
>>kernel complaint at hibernating ever.
>>5. After resuming the machine later, it seemed to work fine.
>>I switched to qemu, but it was almost dead. Actually, qemu
>>was fine, but the guest OS was almost dead. I could move
>>application windows a bit, click on things to select them,
>>but all this stopped after a while (seconds) and it didn't
>>respond again. But qemu was going along. I could toggle
>>fullscreen and it was taking 100% CPU (which is correct
>>here). The management console worked fine.
>>6. On the host side, I noticed kswapd0 (kernel swap thread)
>>was killed, but the OS still swapped fine.
>>7. I couldn't wake win95 so I had to quit qemu.
>>
>>My questions:
>>1. May there be a problem with the kqemu module? Does
>>it have proper suspend/resume routines? Or it doesn't need
>>them (it is not a device driver)?
> 
> 
> Have you already tried to hibernate without haveing kqemu loaded? That
> could narrow down the problem.
Yes, I have now find the problem. Coincidentally, I just upgraded the
kernel before trying suspending with qemu and the kswapd0 bustage was a
bug in it. It is now officially fixed per 2.6.14.2. I am using a
nondefault io sheduler, that's why nobody else has seen this.
Who would have thought there can be bugs in the Linux kernel :)

But still after fixing this problem, all other symptoms with qemu stay
valid.

>>2. Can the problem also be inside Win95? What happens
>>in qemu when the time in the host system suddenly changes?
>>Mine skipped 20 hours. Does the time in the quest continue
>>without skips, thus the guest has different time than the
>>host? Before win95 completelly stopped responding, it showed
>>the old time from before the suspending on the taskbar.
>>Or does qemu synchronise the time to the host? But I doubt
>>that, mine was drifting behind even without suspending, the
>>machine is quite slow.
> I notice that when I stop emulation (while eg. Win2k is running in qemu)
> and resume qemu some hours later, the guest clock has paused and is then
> wrong by some hours. You could try that as well with Win95 and see what
> happens (you can stop emulation by executing "stop" in the qemu monitor,
> and resume operation by running "c" in the monitor).
I have tried this, stopping qemu for several minutes and I couldn't see
any problems. Yes, the quests time is then wrong, but the quest OS
worked fine.

>>I'd like to ask if suspending with qemu is officially
>>declared "A bad thing to do", or it should work, but I have
>>something wrong with my system. I run latest Slackware 10.2
>>on a Pentium MMX.
> There's been a posting on that topic some weeks ago, with a link to
> http://people.brandeis.edu/~jcoiner/qemu_idedma/qemu_dma_patch.html#suspend
> You could try hibernating with that patch applied.

Thanks, I missed this posting on the mailinglist somehow (and it was
only 1 month old...). There was also another patch for this problem, and
that seems to work (see next email from me).

Peter






reply via email to

[Prev in Thread] Current Thread [Next in Thread]