Re: [Xen-devel] [PATCH 18/24] xen: credit2: soft-affinity awareness fallback_cpu() and cpu_pick()

2016-09-29 Thread George Dunlap
On 17/08/16 18:19, Dario Faggioli wrote: > For get_fallback_cpu(), by putting in place the "usual" > two steps (soft affinity step and hard affinity step) > loop. We just move the core logic of the function inside > the body of the loop itself. > > For csched2_cpu_pick(), what is important is to

Re: [Xen-devel] [PATCH 18/24] xen: credit2: soft-affinity awareness fallback_cpu() and cpu_pick()

2016-09-07 Thread anshul makkar
On 05/09/16 14:26, Dario Faggioli wrote: On Thu, 2016-09-01 at 12:08 +0100, anshul makkar wrote: On 17/08/16 18:19, Dario Faggioli wrote: Can't we just read their workload or we can change the locktype to allow reading ? Reading without taking the lock would race against the load value

Re: [Xen-devel] [PATCH 18/24] xen: credit2: soft-affinity awareness fallback_cpu() and cpu_pick()

2016-09-05 Thread Dario Faggioli
On Thu, 2016-09-01 at 12:08 +0100, anshul makkar wrote: > On 17/08/16 18:19, Dario Faggioli wrote: > >  > > diff --git a/xen/common/sched_credit2.c > > b/xen/common/sched_credit2.c > >  > > @@ -506,34 +506,68 @@ void smt_idle_mask_clear(unsigned int cpu, > > cpumask_t *mask) > >   } > > > >   /*

Re: [Xen-devel] [PATCH 18/24] xen: credit2: soft-affinity awareness fallback_cpu() and cpu_pick()

2016-09-01 Thread anshul makkar
On 17/08/16 18:19, Dario Faggioli wrote: For get_fallback_cpu(), by putting in place the "usual" two steps (soft affinity step and hard affinity step) loop. We just move the core logic of the function inside the body of the loop itself. For csched2_cpu_pick(), what is important is to find the

[Xen-devel] [PATCH 18/24] xen: credit2: soft-affinity awareness fallback_cpu() and cpu_pick()

2016-08-17 Thread Dario Faggioli
For get_fallback_cpu(), by putting in place the "usual" two steps (soft affinity step and hard affinity step) loop. We just move the core logic of the function inside the body of the loop itself. For csched2_cpu_pick(), what is important is to find the runqueue with the least average load.