All of lore.kernel.org
 help / color / mirror / Atom feed
From: Oliver Francke <Oliver.Francke@filoo.de>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH] vl: take iothread lock very early
Date: Tue, 03 Mar 2015 17:03:39 +0100	[thread overview]
Message-ID: <54F5DB5B.4070506@filoo.de> (raw)
In-Reply-To: <1425378969-9677-1-git-send-email-pbonzini@redhat.com>

Hi all,

just brief, this small one breaks my qemu-system-x86_64 with:

     qemu: qemu_cond_wait: Operation not permitted

My most complete qemu-starter:

/usr/local/qemu-2.3.0/bin/qemu-system-x86_64 -daemonize -usbdevice 
tablet -enable-kvm -pidfile /var/run/qemu-server/3371.pid -monitor 
unix:/var/run/qemu-server/3371.mon,server,nowait -vnc 
unix:/var/run/qemu-server/3371.vnc,password -qmp 
unix:/var/run/qemu-server/3371.qmp,server,nowait -nodefaults -serial 
none -parallel none -device rtl8139,mac=00:F1:70:00:D2:B0,netdev=vlan0d0 
-netdev 
type=tap,id=vlan0d0,ifname=tap3371i0d0,script=/etc/fcms/add_if.sh,downscript=/etc/fcms/downscript.sh 
-name 1155823384-7 -vga cirrus -k de -smp sockets=1,cores=1 -m 512 
-device virtio-blk-pci,drive=virtio0 -drive 
format=raw,file=rbd:4/vm-3371-disk-1.rbd:rbd_cache=true:rbd_cache_size=16777216:rbd_cache_max_dirty=12582912:rbd_cache_target_dirty=8388608,cache=writeback,if=none,id=virtio0,media=disk,index=0 
-drive 
format=raw,file=rbd:4/vm-3371-swap-1.rbd:rbd_cache=true:rbd_cache_size=16777216:rbd_cache_max_dirty=12582912:rbd_cache_target_dirty=8388608,cache=writeback,if=virtio,media=disk,index=1 
-drive if=ide,media=cdrom,id=ide1-cd0,readonly=on -drive 
if=ide,media=cdrom,id=ide1-cd1,readonly=on -boot order=dc

Up to the former commit everything works well as expected.

Hope it helps,

Oliver.


On 03/03/2015 11:36 AM, Paolo Bonzini wrote:
> If the iothread lock isn't taken by the main thread, the RCU callbacks
> might run concurrently with the main thread.  QEMU's not ready for that.
>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>   vl.c | 6 +++---
>   1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/vl.c b/vl.c
> index 09693f5..d743727 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -2763,6 +2763,9 @@ int main(int argc, char **argv, char **envp)
>       FILE *vmstate_dump_file = NULL;
>       Error *main_loop_err = NULL;
>   
> +    qemu_init_cpu_loop();
> +    qemu_mutex_lock_iothread();
> +
>       atexit(qemu_run_exit_notifiers);
>       error_set_progname(argv[0]);
>       qemu_init_exec_dir(argv[0]);
> @@ -4098,9 +4101,6 @@ int main(int argc, char **argv, char **envp)
>   
>       os_set_line_buffering();
>   
> -    qemu_init_cpu_loop();
> -    qemu_mutex_lock_iothread();
> -
>   #ifdef CONFIG_SPICE
>       /* spice needs the timers to be initialized by this point */
>       qemu_spice_init();


-- 

Oliver Francke

filoo GmbH
Moltkestraße 25a
33330 Gütersloh
HRB4355 AG Gütersloh

Geschäftsführer: J.Rehpöhler | C.Kunz

Folgen Sie uns auf Twitter: http://twitter.com/filoogmbh

  parent reply	other threads:[~2015-03-03 16:03 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-03 10:36 [Qemu-devel] [PATCH] vl: take iothread lock very early Paolo Bonzini
2015-03-03 11:13 ` Christian Borntraeger
2015-03-03 11:29 ` Gonglei
2015-03-03 13:43 ` Peter Maydell
2015-03-03 16:03 ` Oliver Francke [this message]
2015-03-03 16:51   ` Paolo Bonzini
2015-03-03 17:19     ` Oliver Francke
2015-03-03 17:32       ` Paolo Bonzini
2015-03-03 18:02         ` Oliver Francke
2015-03-04 22:20         ` Christian Borntraeger
2015-03-05  0:40         ` Eric Blake
2015-03-05 10:07           ` Christian Borntraeger

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=54F5DB5B.4070506@filoo.de \
    --to=oliver.francke@filoo.de \
    --cc=qemu-devel@nongnu.org \
    /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.