qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Michael Tokarev <mjt@tls.msk.ru>
To: malc <av1474@comtv.ru>
Cc: Jan Kiszka <jan.kiszka@web.de>,
	qemu-devel <qemu-devel@nongnu.org>,
	kvm@vger.kernel.org, Stefan Pietsch <stefan.pietsch@lsexperts.de>
Subject: [Qemu-devel] Re: KVM: High CPU load with audio enabled
Date: Tue, 09 Nov 2010 17:33:34 +0300	[thread overview]
Message-ID: <4CD95BBE.5000905@msgid.tls.msk.ru> (raw)
In-Reply-To: <alpine.LNX.2.00.1011091646480.1513@linmac>

09.11.2010 16:48, malc wrote:
> On Tue, 9 Nov 2010, Jan Kiszka wrote:
> 
>> Am 09.11.2010 00:48, Michael Tokarev wrote:
[]
>>> Yes, sound in 0.13 appears to be broken.  It is looping in
>>> select/read loop forever, read returns EAGAIN and select
>>> says the filedescriptor is ready.
>>
>> Try to set QEMU_AUDIO_DAC_TRY_POLL=0 for the environment of the qemu
>> process. That's long required to get sound out of the Musicpal emulation
>> as well (malc, you may recall this). It even got worse with current
>> qemu.git: previously, the sounds was just quirky. Now the system is
>> booting way slower in polling mode and is partially not reactive anymore.
> 
> Wich driver is being used? ALSA stuff should have been fixed by Jindrich
> Makovicka in:
> 38cc9b607f85017b095793cab6c129bc9844f441 and
> 22d948a2d97434192018bdabaf0a50cda7f994be

As far as I can see, both are in 0.13.0 release, which is
the one I'm running currently.

This is with QEMU_AUDIO_DRV=alsa (default on Debian):

...
gettimeofday({1289311843, 426751}, NULL) = 0
select(24, [0 5 13 18 20 23], [], [], {1, 0}) = 1 (in [13], left {0, 999998})
poll([{fd=13, events=POLLIN|POLLERR|POLLNVAL}], 1, 0) = 1 ([{fd=13, revents=POLLIN}])
ioctl(14, 0xc0844123, 0x8e75200)        = 0
ioctl(14, 0xc0844123, 0x8e75200)        = 0
clock_gettime(CLOCK_MONOTONIC, {654227, 9502215}) = 0
clock_gettime(CLOCK_MONOTONIC, {654227, 9521568}) = 0
gettimeofday({1289311843, 426911}, NULL) = 0
select(24, [0 5 13 18 20 23], [], [], {1, 0}) = 1 (in [13], left {0, 999998})
poll([{fd=13, events=POLLIN|POLLERR|POLLNVAL}], 1, 0) = 1 ([{fd=13, revents=POLLIN}])
ioctl(14, 0xc0844123, 0x8e75200)        = 0
ioctl(14, 0xc0844123, 0x8e75200)        = 0
clock_gettime(CLOCK_MONOTONIC, {654227, 9660799}) = 0
clock_gettime(CLOCK_MONOTONIC, {654227, 9680088}) = 0
gettimeofday({1289311843, 427070}, NULL) = 0
...

Fd#13 is /dev/snd/timer.

For this test, I tried -soundhw ac97.  The same happens with
es1370 too.

With oss or pulseaudio it works just fine.

Note that the problem does not occur always.  I just
booted a win7 guest with ac97, installed a driver, and it
whole thing appears to work without this 100% cpu loop, at
least after settling down.  But several attempts to run a
linux guest with es1370 or ac97 results in a reproduceable
tight loop - right after bootup.

And I just discovered another issue with QUEMU_AUDIO_DRV=pa:
when I tried to close sdl window, kvm wents into tight loop

waitpid(30478, 0xffa84ccc, 0)           = -1 ECHILD (No child processes)
waitpid(30478, 0xffa84ccc, 0)           = -1 ECHILD (No child processes)
waitpid(30478, 0xffa84ccc, 0)           = -1 ECHILD (No child processes)
waitpid(30478, 0xffa84ccc, 0)           = -1 ECHILD (No child processes)
waitpid(30478, 0xffa84ccc, 0)           = -1 ECHILD (No child processes)
waitpid(30478, 0xffa84ccc, 0)           = -1 ECHILD (No child processes)
waitpid(30478, 0xffa84ccc, 0)           = -1 ECHILD (No child processes)
...

obviously consuming 100% cpu, and the only way to stop this is to
kill it.  Unrelated, but also buggy ;)

Thanks!

/mjt

  reply	other threads:[~2010-11-09 14:33 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20101108133310.NDW2tl7gaq4uLMdHXOT0UP@consulting.lsexperts.de>
     [not found] ` <4CD88C58.9030501@msgid.tls.msk.ru>
2010-11-09  8:27   ` [Qemu-devel] Re: KVM: High CPU load with audio enabled Jan Kiszka
2010-11-09 13:48     ` malc
2010-11-09 14:33       ` Michael Tokarev [this message]
2010-11-09 14:41         ` Michael Tokarev
2010-11-10  9:39           ` Stefan Pietsch
2010-11-10 10:18             ` Michael Tokarev

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=4CD95BBE.5000905@msgid.tls.msk.ru \
    --to=mjt@tls.msk.ru \
    --cc=av1474@comtv.ru \
    --cc=jan.kiszka@web.de \
    --cc=kvm@vger.kernel.org \
    --cc=qemu-devel@nongnu.org \
    --cc=stefan.pietsch@lsexperts.de \
    /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;
as well as URLs for NNTP newsgroup(s).