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

[Xen-devel] [PATCH v5 8/8] add vnuma info for debug-key



Signed-off-by: Elena Ufimtseva <ufimtseva@xxxxxxxxx>
---
 xen/arch/x86/numa.c |   29 ++++++++++++++++++++++++++++-
 1 file changed, 28 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/numa.c b/xen/arch/x86/numa.c
index b141877..8310b03 100644
--- a/xen/arch/x86/numa.c
+++ b/xen/arch/x86/numa.c
@@ -347,9 +347,10 @@ EXPORT_SYMBOL(node_data);
 static void dump_numa(unsigned char key)
 {
        s_time_t now = NOW();
-       int i;
+       int i, j, n, err;
        struct domain *d;
        struct page_info *page;
+       char tmp[12];
        unsigned int page_num_node[MAX_NUMNODES];
 
        printk("'%c' pressed -> dumping numa info (now-0x%X:%08X)\n", key,
@@ -389,6 +390,32 @@ static void dump_numa(unsigned char key)
 
                for_each_online_node(i)
                        printk("    Node %u: %u\n", i, page_num_node[i]);
+
+               printk("    Domain has %u vnodes\n", d->vnuma.nr_vnodes);
+               for ( i = 0; i < d->vnuma.nr_vnodes; i++ ) {
+                       err = snprintf(tmp, 12, "%u", 
d->vnuma.vnode_to_pnode[i]);
+                       if ( err < 0 )
+                               printk("        vnode %u - pnode %s,", i, 
"any");
+                       else
+                               printk("        vnode %u - pnode %s,", i,
+                       d->vnuma.vnode_to_pnode[i] == NUMA_NO_NODE ? "any" : 
tmp);
+                       printk(" %"PRIu64" MB, ",
+                               (d->vnuma.vmemrange[i].end - 
d->vnuma.vmemrange[i].start) >> 20);
+                       printk("vcpus: ");
+
+                       for ( j = 0, n = 0; j < d->max_vcpus; j++ ) {
+                               if ( d->vnuma.vcpu_to_vnode[j] == i ) {
+                                       if ( !((n + 1) % 8) )
+                                               printk("%u\n", j);
+                                       else if ( !(n % 8) && n != 0 )
+                                                       printk("%s%u ", "       
      ", j);
+                                               else
+                                                       printk("%u ", j);
+                                       n++;
+                               }
+                       }
+                       printk("\n");
+               }
        }
 
        rcu_read_unlock(&domlist_read_lock);
-- 
1.7.10.4


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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