mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 10:40:03 +01:00
xend: make NUMA in xm info optional (dependent on new -n switch)
Signed-off-by: Andre Przywara <andre.przywara@amd.com>
This commit is contained in:
1 parent
37cd685b75
commit
254a13846c
2 files changed
+21
-15
No files matched your search
@@ -835,8 +835,8 @@ class XendNode:
|
||||
# Getting host information.
|
||||
#
|
||||
|
||||
def info(self):
|
||||
return (self.nodeinfo() + self.physinfo() + self.xeninfo() +
|
||||
def info(self, show_numa = 1):
|
||||
return (self.nodeinfo() + self.physinfo(show_numa) + self.xeninfo() +
|
||||
self.xendinfo())
|
||||
|
||||
def nodeinfo(self):
|
||||
@@ -915,7 +915,7 @@ class XendNode:
|
||||
str='none\n'
|
||||
return str[:-1];
|
||||
|
||||
def physinfo(self):
|
||||
def physinfo(self, show_numa):
|
||||
info = self.xc.physinfo()
|
||||
tinfo = self.xc.topologyinfo()
|
||||
ninfo = self.xc.numainfo()
|
||||
@@ -926,12 +926,6 @@ class XendNode:
|
||||
info['total_memory'] = info['total_memory'] / 1024
|
||||
info['free_memory'] = info['free_memory'] / 1024
|
||||
|
||||
info['cpu_topology'] = \
|
||||
self.format_cpu_to_core_socket_node(tinfo)
|
||||
|
||||
info['numa_info'] = \
|
||||
self.format_numa_info(ninfo)
|
||||
|
||||
ITEM_ORDER = ['nr_cpus',
|
||||
'nr_nodes',
|
||||
'cores_per_socket',
|
||||
@@ -941,10 +935,17 @@ class XendNode:
|
||||
'virt_caps',
|
||||
'total_memory',
|
||||
'free_memory',
|
||||
'cpu_topology',
|
||||
'numa_info',
|
||||
]
|
||||
|
||||
if show_numa != 0:
|
||||
info['cpu_topology'] = \
|
||||
self.format_cpu_to_core_socket_node(tinfo)
|
||||
|
||||
info['numa_info'] = \
|
||||
self.format_numa_info(ninfo)
|
||||
|
||||
ITEM_ORDER += [ 'cpu_topology', 'numa_info' ]
|
||||
|
||||
return [[k, info[k]] for k in ITEM_ORDER]
|
||||
|
||||
def pciinfo(self):
|
||||
@@ -1056,7 +1057,7 @@ class XendNode:
|
||||
def xeninfo_dict(self):
|
||||
return dict(self.xeninfo())
|
||||
def physinfo_dict(self):
|
||||
return dict(self.physinfo())
|
||||
return dict(self.physinfo(1))
|
||||
def info_dict(self):
|
||||
return dict(self.info())
|
||||
|
||||
|
||||
@@ -145,7 +145,8 @@ SUBCOMMAND_HELP = {
|
||||
'domname' : ('<DomId>', 'Convert a domain id to domain name.'),
|
||||
'dump-core' : ('[-L|--live] [-C|--crash] [-R|--reset] <Domain> [Filename]',
|
||||
'Dump core for a specific domain.'),
|
||||
'info' : ('[-c|--config]', 'Get information about Xen host.'),
|
||||
'info' : ('[-c|--config] [-n|--numa]',
|
||||
'Get information about Xen host.'),
|
||||
'log' : ('', 'Print Xend log'),
|
||||
'rename' : ('<Domain> <NewDomainName>', 'Rename a domain.'),
|
||||
'sched-sedf' : ('<Domain> [options]', 'Get/set EDF parameters.'),
|
||||
@@ -326,6 +327,7 @@ SUBCOMMAND_OPTIONS = {
|
||||
),
|
||||
'info': (
|
||||
('-c', '--config', 'List Xend configuration parameters'),
|
||||
('-n', '--numa', 'List host NUMA topology information'),
|
||||
),
|
||||
'tmem-list': (
|
||||
('-l', '--long', 'List tmem stats.'),
|
||||
@@ -1825,15 +1827,18 @@ def xm_info(args):
|
||||
arg_check(args, "info", 0, 1)
|
||||
|
||||
try:
|
||||
(options, params) = getopt.gnu_getopt(args, 'c', ['config'])
|
||||
(options, params) = getopt.gnu_getopt(args, 'cn', ['config','numa'])
|
||||
except getopt.GetoptError, opterr:
|
||||
err(opterr)
|
||||
usage('info')
|
||||
|
||||
show_xend_config = 0
|
||||
show_numa_topology = 0
|
||||
for (k, v) in options:
|
||||
if k in ['-c', '--config']:
|
||||
show_xend_config = 1
|
||||
if k in ['-n', '--numa']:
|
||||
show_numa_topology = 1
|
||||
|
||||
if show_xend_config:
|
||||
for name, obj in inspect.getmembers(xoptions):
|
||||
@@ -1920,7 +1925,7 @@ def xm_info(args):
|
||||
for (k, v) in sorted:
|
||||
print "%-23s:" % k, v
|
||||
else:
|
||||
info = server.xend.node.info()
|
||||
info = server.xend.node.info(show_numa_topology)
|
||||
for x in info[1:]:
|
||||
if len(x) < 2:
|
||||
print "%-23s: (none)" % x[0]
|
||||
|
||||