|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 2/7] xen: credit: (micro) optimize csched_runq_steal().
On 06/04/17 09:16, Dario Faggioli wrote:
> Chacking whether or not a vCPU can be 'stolen'
> from a peer pCPU's runqueue is relatively cheap.
>
> Therefore, let's do that as early as possible,
> avoiding potentially useless complex checks, and
> cpumask manipulations.
>
> Signed-off-by: Dario Faggioli <dario.faggioli@xxxxxxxxxx>
> ---
> Cc: George Dunlap <george.dunlap@xxxxxxxxxxxxx>
> Cc: Anshul Makkar <anshul.makkar@xxxxxxxxxx>
> ---
> Changes from v1:
> * fixed a typo in a comment.
> ---
> xen/common/sched_credit.c | 17 +++++++++--------
> 1 file changed, 9 insertions(+), 8 deletions(-)
>
> diff --git a/xen/common/sched_credit.c b/xen/common/sched_credit.c
> index 63a8675..5a3f13f 100644
> --- a/xen/common/sched_credit.c
> +++ b/xen/common/sched_credit.c
> @@ -708,12 +708,10 @@ static inline int
> __csched_vcpu_is_migrateable(struct vcpu *vc, int dest_cpu, cpumask_t *mask)
> {
> /*
> - * Don't pick up work that's in the peer's scheduling tail or hot on
> - * peer PCPU. Only pick up work that prefers and/or is allowed to run
> - * on our CPU.
> + * Don't pick up work that's hot on peer PCPU, or that can't (or
> + * would prefer not to) run on cpu.
> */
> - return !vc->is_running &&
> - !__csched_vcpu_is_cache_hot(vc) &&
> + return !__csched_vcpu_is_cache_hot(vc) &&
> cpumask_test_cpu(dest_cpu, mask);
+1 to moving the check earlier; but there's a risk that this function
will be used somewhere else and that the is_running check will be missed.
Should we maybe add an ASSERT() here (perhaps with a comment that the
check can be added back in if necessary)?
-George
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |