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

Re: [Xen-devel] [PATCH] xen: Always ask the scheduler to re-place the vcpu when the affinity changes



>>> On 04.03.13 at 13:19, George Dunlap <george.dunlap@xxxxxxxxxxxxx> wrote:
> It's probably a good idea to re-evaluate placement whenever the
> affinity changes.
> 
> This additionally has the benefit of removing scheduler-specific
> exceptions introduced in git c/s e6a6fd63.
> 
> Signed-off-by: George Dunlap <george.dunlap@xxxxxxxxxxxxx>
> ---
>  xen/common/schedule.c |    7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/xen/common/schedule.c b/xen/common/schedule.c
> index de11110..dbef5af 100644
> --- a/xen/common/schedule.c
> +++ b/xen/common/schedule.c
> @@ -613,9 +613,10 @@ int vcpu_set_affinity(struct vcpu *v, const cpumask_t 
> *affinity)
>      vcpu_schedule_lock_irq(v);
>  
>      cpumask_copy(v->cpu_affinity, affinity);
> -    if ( VCPU2OP(v)->sched_id == XEN_SCHEDULER_SEDF ||
> -         !cpumask_test_cpu(v->processor, v->cpu_affinity) )
> -        set_bit(_VPF_migrating, &v->pause_flags);
> +
> +    /* Always ask the scheduler to re-evaluate placement
> +     * when changing the affinity */
> +    set_bit(_VPF_migrating, &v->pause_flags);
>  
>      vcpu_schedule_unlock_irq(v);
>  

The code right below the context visible here is

    if ( test_bit(_VPF_migrating, &v->pause_flags) )
    {
        vcpu_sleep_nosync(v);
        vcpu_migrate(v);
    }

and I think the conditional could (and should) now be removed.

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®.