|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Embedded-pv-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
_______________________________________________
Embedded-pv-devel mailing list
Embedded-pv-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/embedded-pv-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |