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

Re: [Xen-devel] [PATCH] tools: convert cpumap bitmap to list

* Keir Fraser <Keir.Fraser@xxxxxxxxxxxx> [2005-10-20 05:39]:
> On 19 Oct 2005, at 23:45, Ryan Harper wrote:
> >This patch modifies the lowlevel xc vcpuinfo call to convert a vcpu's
> >cpumap to a list of int.  XendDomainInfo.py filters the cpumap into a
> >smaller list that is bound by the number of vcpus allocated to a 
> >domain.
> Two things:
> First, there is no correspondence between size of cpumap and 
> max_vcpu_id, because there is no direct relationship between sizes of 
> virtual and physical CPU spaces. We could have a system with more vcpus 
> than physical cpus, or vice versa. And cpumap represents sets of 
> physical cpus, not sets of virtual cpus.

Right.  I was carrying through the previous incorrect behavior:

cpumap = sxp.child_value(info, 'cpumap', [])
mask = ((int(sxp.child_value(info, 'vcpus', '0')))**2) - 1

> Second, I meant that the cpumap list should contain just the list of 
> physical cpus that that vcpu can run on. So, for example, a cpumap 
> bitmask of 0x5 would correspond to the cpumap list [0, 2], not the list 
> [0, -1, 2, -1, -1, ...]. The latter is a weird and redundant 
> representation.

OK.  That was my poor hack around python/c blowing up if you didn't fill
out every spot in the list you created.  I'm going to switch to using
PyList_Append() rather than creating the list size up front.

Are you interested in any modification of the cpumap to list conversion?
Or is it ok if vcpu-list shows a long list of integers?  

I would think mapping cpu % nr_cpus, throwing away duplicates would be
best.  With [0,1,2,3] and nr_cpus=2, cpumap would be [0,1].

Ryan Harper
Software Engineer; Linux Technology Center
IBM Corp., Austin, Tx
(512) 838-9253   T/L: 678-9253

Xen-devel mailing list



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