[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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.