[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] This patch fixes a number of vcpu related issues.
# HG changeset patch # User emellor@xxxxxxxxxxxxxxxxxxxxxx # Node ID fcf13f653dbaed0962e5e2aa1e9ac9439e704358 # Parent 49bf2a4863b6b9cc4c1e03d51c6654da0a39406e This patch fixes a number of vcpu related issues. 1. xm vcpu-list now shows info for all vcpus by using info['max_vcpu_id']+1 as end of the range to query vcpu_info. 2. Add new vcpu fields, online_vcpus, max_vcpu_id to XendDomainInfo.sxpr() 3. Remove filter_cpump() which isn't needed now that the per vcpu cpumap field is correct. 4. Update xm/main.py to use online_vcpus as the number vcpus to display in list. Signed-off-by: Ryan Harper <ryanh@xxxxxxxxxx> diff -r 49bf2a4863b6 -r fcf13f653dba tools/python/xen/xend/XendDomainInfo.py --- a/tools/python/xen/xend/XendDomainInfo.py Tue Nov 15 16:22:42 2005 +++ b/tools/python/xen/xend/XendDomainInfo.py Tue Nov 15 16:28:05 2005 @@ -438,8 +438,10 @@ defaultInfo('cpu', lambda: None) defaultInfo('cpu_weight', lambda: 1.0) defaultInfo('vcpus', lambda: int(1)) + defaultInfo('online_vcpus', lambda: self.info['vcpus']) self.info['vcpus'] = int(self.info['vcpus']) + defaultInfo('max_vcpu_id', lambda: self.info['vcpus']-1) defaultInfo('vcpu_avail', lambda: (1 << self.info['vcpus']) - 1) @@ -927,6 +929,7 @@ if self.infoIsSet('cpu_time'): sxpr.append(['cpu_time', self.info['cpu_time']/1e9]) sxpr.append(['vcpus', self.info['vcpus']]) + sxpr.append(['online_vcpus', self.info['online_vcpus']]) if self.infoIsSet('start_time'): up_time = time.time() - self.info['start_time'] @@ -943,16 +946,13 @@ def getVCPUInfo(self): try: - def filter_cpumap(map, max): - return filter(lambda x: x >= 0, map[0:max]) - # We include the domain name and ID, to help xm. sxpr = ['domain', ['domid', self.domid], ['name', self.info['name']], - ['vcpu_count', self.info['vcpus']]] - - for i in range(0, self.info['vcpus']): + ['vcpu_count', self.info['online_vcpus']]] + + for i in range(0, self.info['max_vcpu_id']+1): info = xc.vcpu_getinfo(self.domid, i) sxpr.append(['vcpu', @@ -962,8 +962,7 @@ ['running', info['running']], ['cpu_time', info['cpu_time'] / 1e9], ['cpu', info['cpu']], - ['cpumap', filter_cpumap(info['cpumap'], - self.info['vcpus'])]]) + ['cpumap', info['cpumap']]]) return sxpr diff -r 49bf2a4863b6 -r fcf13f653dba tools/python/xen/xm/main.py --- a/tools/python/xen/xm/main.py Tue Nov 15 16:22:42 2005 +++ b/tools/python/xen/xm/main.py Tue Nov 15 16:28:05 2005 @@ -260,13 +260,13 @@ return t(sxp.child_value(info, n, d)) return { - 'dom' : get_info('domid', int, -1), - 'name' : get_info('name', str, '??'), - 'mem' : get_info('memory', int, 0), - 'vcpus' : get_info('vcpus', int, 0), - 'state' : get_info('state', str, '??'), - 'cpu_time' : get_info('cpu_time', float, 0), - 'ssidref' : get_info('ssidref', int, 0), + 'dom' : get_info('domid', int, -1), + 'name' : get_info('name', str, '??'), + 'mem' : get_info('memory', int, 0), + 'vcpus' : get_info('online_vcpus', int, 0), + 'state' : get_info('state', str, '??'), + 'cpu_time' : get_info('cpu_time', float, 0), + 'ssidref' : get_info('ssidref', int, 0), } _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |