Thanks Dave.

Dave wrote: 
> IIRC the domain builder needs to know the VCPUs-max. VCPUs-at-startup
> is implemented by a protocol over xenstore where there's a directory:
> 
> cpu = ""
>  0 = ""
>   availability = "online"
>  1 = ""
>   Availability = "online"
> 
> Which tells the PV kernel that it should disable/hotunplug (or not)
> certain vCPUs. I'm not sure but I imagine the guest receives the
> xenstore watch event, deregisters the vCPU with its scheduler and then
> issues a hypercall telling xen to stop scheduling the vCPU too. It's
> certainly has to be a co-operative thing, since if xen just stopped
> scheduling a vCPU that would probably have some bad effects on the
> guest :) It's slightly odd that the protocol allows per-vCPU control,
> when I'm not convinced that you can meaningfully tell them apart.

Presumably the in-guest CPU enumeration matches the enumeration in xenstore so 
it does know which is which. Although xapi currently doesn't allow it I believe 
independent hot plug/unplug of vCPUs works in Xen and would be useful where 
topology is exposed to the guest (e.g. if a guest has a unity pinned set of 
vCPUs == pCPUs and the user wishes to unplug a vCPU on each socket that may 
mean unplugging vCPU 3 (on socket 0) and vCPU 7 (on socket 1) - I think this 
comes in xapi NUMA support phase 2 - which reminds me: my original comments 
were in the context of the current xapi behaviour of not exposing topology to 
the guest).

Cheers,
James

_______________________________________________
Xen-api mailing list
[email protected]
http://lists.xen.org/cgi-bin/mailman/listinfo/xen-api

Reply via email to