File dom-print.patch of Package xen

--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -135,7 +135,7 @@ void dump_pageframe_info(struct domain *
 
     printk("Memory pages belonging to domain %u:\n", d->domain_id);
 
-    if ( d->tot_pages >= 10 )
+    if ( d->tot_pages >= 10 && d->is_dying < DOMDYING_dead )
     {
         printk("    DomPage list too long to display\n");
     }
@@ -143,6 +143,15 @@ void dump_pageframe_info(struct domain *
     {
         page_list_for_each ( page, &d->page_list )
         {
+            if ( d->tot_pages > 16 )
+            {
+                switch ( page->u.inuse.type_info & PGT_type_mask )
+                {
+                case PGT_none:
+                case PGT_writable_page:
+                    continue;
+                }
+            }
             printk("    DomPage %p: caf=%08lx, taf=%" PRtype_info "\n",
                    _p(page_to_mfn(page)),
                    page->count_info, page->u.inuse.type_info);
--- a/xen/common/keyhandler.c
+++ b/xen/common/keyhandler.c
@@ -192,9 +192,9 @@ static void dump_domains(unsigned char k
     {
         printk("General information for domain %u:\n", d->domain_id);
         cpuset_print(tmpstr, sizeof(tmpstr), d->domain_dirty_cpumask);
-        printk("    refcnt=%d nr_pages=%d xenheap_pages=%d "
+        printk("    refcnt=%d dying=%d nr_pages=%d xenheap_pages=%d "
                "dirty_cpus=%s\n",
-               atomic_read(&d->refcnt),
+               atomic_read(&d->refcnt), d->is_dying,
                d->tot_pages, d->xenheap_pages, tmpstr);
         printk("    handle=%02x%02x%02x%02x-%02x%02x-%02x%02x-"
                "%02x%02x-%02x%02x%02x%02x%02x%02x vm_assist=%08lx\n",
openSUSE Build Service is sponsored by