Prints basic information about vNUMA topology
for vNUMA enabled domains when issuing debug-key ''u''.
Signed-off-by: Elena Ufimtseva <ufimtseva@gmail.com>
---
 xen/arch/x86/numa.c |   19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
diff --git a/xen/arch/x86/numa.c b/xen/arch/x86/numa.c
index b141877..8bd34d0 100644
--- a/xen/arch/x86/numa.c
+++ b/xen/arch/x86/numa.c
@@ -389,6 +389,25 @@ static void dump_numa(unsigned char key)
 
 		for_each_online_node(i)
 			printk("    Node %u: %u\n", i, page_num_node[i]);
+
+		if (d->vnuma.nr_vnodes > 0)
+		{
+			printk("    Domain has %d vnodes\n", d->vnuma.nr_vnodes);
+			for (i = 0; i < d->vnuma.nr_vnodes; i++) {
+				printk("        vnode %d - pnode %d:", i,
+					d->vnuma.vnode_numamap[i] >= MAX_NUMNODES ?
+					-1 : d->vnuma.vnode_numamap[i]);
+				printk(" %"PRIu64" MB \n",
+					(d->vnuma.vmemrange[i].end -
+					d->vnuma.vmemrange[i].start) >> 20);
+			}
+			printk("    Domain vcpu to vnode: \n");
+			for (i = 0; i < d->max_vcpus; i++)
+				printk("%s%d %s", i % 8 == 0 ? "    " : "",
+					d->vnuma.vcpu_to_vnode[i],
+					(i + 1) % 8 == 0 ? "\n" : "");
+			printk("\n");
+		}
 	}
 
 	rcu_read_unlock(&domlist_read_lock);
-- 
1.7.10.4
>>> On 14.11.13 at 04:27, Elena Ufimtseva <ufimtseva@gmail.com> wrote: > --- a/xen/arch/x86/numa.c > +++ b/xen/arch/x86/numa.c > @@ -389,6 +389,25 @@ static void dump_numa(unsigned char key) > > for_each_online_node(i) > printk(" Node %u: %u\n", i, page_num_node[i]); > + > + if (d->vnuma.nr_vnodes > 0) > + { > + printk(" Domain has %d vnodes\n", d->vnuma.nr_vnodes); > + for (i = 0; i < d->vnuma.nr_vnodes; i++) { > + printk(" vnode %d - pnode %d:", i, > + d->vnuma.vnode_numamap[i] >= MAX_NUMNODES ? > + -1 : d->vnuma.vnode_numamap[i]); > + printk(" %"PRIu64" MB \n", > + (d->vnuma.vmemrange[i].end - > + d->vnuma.vmemrange[i].start) >> 20); > + } > + printk(" Domain vcpu to vnode: \n"); > + for (i = 0; i < d->max_vcpus; i++) > + printk("%s%d %s", i % 8 == 0 ? " " : "", > + d->vnuma.vcpu_to_vnode[i], > + (i + 1) % 8 == 0 ? "\n" : ""); > + printk("\n"); > + }Looks okay, but needs to be cleaned up coding style wise. Jan