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

Re: [Xen-devel] [PATCH] xen: schedule: allow dom0 vCPUs to be re-pinned when dom0_vcpus_pin is set



>>> On 05.12.12 at 16:59, Matt Wilson <msw@xxxxxxxxxx> wrote:
> On Wed, Dec 05, 2012 at 10:44:04AM +0000, Andrew Cooper wrote:
>> On 05/12/12 06:02, Matt Wilson wrote:
>> > An administrator may want Xen to pin dom0 vCPUs to pCPUs 1:1 at boot,
>> > but still have the flexibility to change the configuration later.
>> > There's no logic that keys off of domain->is_pinned outside of
>> > sched_init_vcpu() and vcpu_set_affinity(). By adjusting the
>> > is_pinned_vcpu() macro to only check for a single CPU set in the
>> > cpu_affinity mask, dom0 vCPUs can safely be re-pinned after the system
>> > boots.
>> 
>> Sadly this patch will break things.  There are certain callers of
>> is_pinned_vcpu() which rely on the value to allow access to certain
>> power related MSRs, which is where the requirement for never permitting
>> an update of the affinity mask comes from.
> 
> If this is true, the existing is_pinned_vcpu() test is broken:
> 
>    #define is_pinned_vcpu(v) ((v)->domain->is_pinned || \
>                               cpumask_weight((v)->cpu_affinity) == 1)
> 
> It's && not ||. So if someone pins dom0 vCPUs to pCPUs 1:1 after boot,
> the MSR traps will suddenly start working.
> 
> See commit: http://xenbits.xen.org/gitweb/?p=xen.git;a=commitdiff;h=cc0854dd 

I don't see what's wrong here. Certain things merely require the
pCPU that a vCPU runs on to be stable, which is what the test
above is for.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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