[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH 1 of 1] stubdom hanging at creation




The following patch is a first fix for qemu to rectify stubdom hanging at boot time.

It leads to another issue when the device model tries to attach console-1 (I'm using linux-2.6-pvops.git as dom0): - tools/ioemu-remote/hw/xen_console.c: 'con_connect' calls 'xc_gnttab_map_grant_ref' which never returns,
- tools/libxc/xc_linux.c: 'xc_gnttab_map_grant_ref' hangs calling 'mmap',
- linux-2.6-pvops.git/drivers/xen/gntdev.c: 'gntdev_mmap' calls 'apply_to_page_range' and never returns.

A short gntdev debug log:
[  495.734675] gntdev_ioctl_map_grant_ref: priv ffff88002c6a8f40, add 1
[ 495.735544] gntdev_print_maps: maps list (priv ffff88002c6a8f40, usage 1/1024)
[  495.735544]   index  0, count  1 [new]
[  495.757925] gntdev_mmap: map 0+1 at 7fc6fa16a000 (pgoff 0)

Aftermath, either xl/xm or any xen tool hang without any output. Still dom0 seems to run 'almost' normaly. Any idea about this ?

diff --git a/vl.c b/vl.c
index 404d67a..e86d05d 100644
--- a/vl.c
+++ b/vl.c
@@ -5967,21 +5967,21 @@ int main(int argc, char **argv, char **envp)
     /* just use the first displaystate for the moment */
     ds = display_state;
     /* terminal init */
-#ifdef CONFIG_STUBDOM
-    if (xenfb_pv_display_init(ds) == 0) {
-    } else
-#endif
     if (nographic) {
         if (curses) {
             fprintf(stderr, "fatal: -nographic can't be used with -curses\n");
             exit(1);
         }
} else { +#if defined(CONFIG_STUBDOM)
+        if (xenfb_pv_display_init(ds) == 0) {
+        } else
+#endif
 #if defined(CONFIG_CURSES)
-            if (curses) {
-                /* At the moment curses cannot be used with other displays */
-                curses_display_init(ds, full_screen);
-            } else
+        if (curses) {
+            /* At the moment curses cannot be used with other displays */
+            curses_display_init(ds, full_screen);
+        } else
 #endif
             {
                 if (vnc_display != NULL || vncunused != 0) {

--
Eric Chanudet

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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