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

Re: [Xen-devel] [PATCH] Bug #327 xentop/libxenstat vcpu fix



On Saturday 15 October 2005 00:44, Keir Fraser wrote:
> On 14 Oct 2005, at 23:39, Daniel Stekloff wrote:
> > xentop will error when getting vcpu information if there are disabled
> > vcpus for a domain at the end of the vcpu list. xentop merely goes
> > through the num_vcpus list and calls DOM0_GETVCPUCONTEXT, it doesn't
> > check if the requested vcpu is disabled or enabled. DOM0_GETVCPUCONTEXT
> > returns the next enabled vcpu in the list or an error if it doesn't
> > find
> > one. xentop will then error.
> >
> > This is just a quick fix to check the vcpu_to_cpu[] map before
> > requesting vcpu info.
>
> GETVCPUCONTEXT no longer returns the next valid vcpu. It just fails if
> the specified vcpu is not currently online. Also, GETDOMAININFO no
> longer returns vcpu_to_cpu or cpumap arrays. I moved those into a new
> GETVCPUINFO call.
>
> I think you can use a simpler algorithm for finding all online VCPUs
> anyway. The tools will always try to ensure that VCPUs 0 to
> info.n_vcpu-1 are online, so you could just iterate over that. If you
> are worried about discontiguous online maps, just iterate over
> 0-(MAX_VIRT_CPUS-1) and silently drop the GETVCPUINFO failures
> (errno==ESRCH).


Ok.. so xm top/xentop is no longer broken - provided you don't care about out 
of order vcpus. 

xm vcpu-list is broken.

xm vcpu-enable will only enable vcpus in order.  I can't, for instance, enable 
vcpu 3 if vcpu 2 isn't enabled. xm vcpu-enable silently fails. 

So stupid question: 

Do we no longer have or care about dicontiguous online maps? Or, do the tools 
just need to catch up with your changes? 

I'm curious because xentop just takes the number of vcpus from domaininfo and 
calls GETVCPUCONTEXT starting with 0 and going until num-1. I just tried this 
on a 4 vcpu dom. I disabled vcpus 1 and 2, leaving 0 and 3 active. xentop 
worked fine but reported those vcpus as 0 and 1. GETVCPUCONTEXT returned the 
as 0 and 1. Is this the way you want it to work? 

If so, I'll close the bug. 

Thanks,

Dan

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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