[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Userspace PV backend hangs
Hi, guys! We continue bringing up System based on Xen hypervisor on Renesas Lager board. We started 4 domains: Dom0 (Linux 3.14), Driver Domain (Linux 3.14), Cluster Domain (Linux 3.14), and DomU (Tizen with 3.14 kernel). Each domain has 2 VCPUs (4 physical CPUs are up). Currently, we use Xen version 4.6-unstable. We've successfully brought up PVBLK and PVUSB - both backends and frontends of these PV drivers live in Kernel-space. But we have problems with PV drivers with backends, that live in user-space. For example, Audio backend application hangs in the middle of initialization. Same for other PV drivers. Investigation shows, that we have deadlock. It is example of source: if (!xs_watch(xsh, sndbk_params.reconnectpath, "")) return -1; xs_read(xsh, XBT_NULL, buf, NULL); xs_read() hangs because dev/xenbus is locked by watch thread, created in xs_watch(). xs_watch() creates thread, which locks dev/xenbus, and goes to sleep in xenbus frontend (ret = wait_event_interruptible(u->read_waitq,!list_empty(&u->read_buffers));) until someone wake up it. But nobody can wake it up. We tried to change value using utils (xenstore-write), but it helps only sometimes: sometimes it helps thread to wake up, sometimes that thread sleeps and does not wake up. Sometimes backend passes this place successfully, but hangs on next similar xs_watch() + xs_read() combination. One more important note is, that if we set watch from via tools (xenstore-watch) to the exactly same path, as in backend, and then change value with xenstore-write, we see prints from xenstore-watch, but xs_watch thread is still sleeping. Could you please suggest what can be reason of such behavior? May be you saw such behavior earlier? Best regards. Iurii Konovalenko | Senior Software Engineer GlobalLogic _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |