[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 |