[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 37/47] xen/sched: move per-cpu variable scheduler to struct sched_resource
On 14.09.2019 10:52, Juergen Gross wrote: > --- a/xen/common/sched_credit.c > +++ b/xen/common/sched_credit.c > @@ -352,9 +352,10 @@ DEFINE_PER_CPU(unsigned int, last_tickle_cpu); > static inline void __runq_tickle(struct csched_unit *new) > { > unsigned int cpu = sched_unit_cpu(new->unit); > + struct sched_resource *sd = get_sched_res(cpu); > struct sched_unit *unit = new->unit; > struct csched_unit * const cur = CSCHED_UNIT(curr_on_cpu(cpu)); > - struct csched_private *prv = CSCHED_PRIV(per_cpu(scheduler, cpu)); > + struct csched_private *prv = CSCHED_PRIV(sd->scheduler); Is the single use "sd" (and, as mentioned elsewhere, mis-named) really worth it? (Applicable further down as well.) > @@ -931,7 +932,8 @@ csched_unit_acct(struct csched_private *prv, unsigned int > cpu) > { > struct sched_unit *currunit = current->sched_unit; > struct csched_unit * const svc = CSCHED_UNIT(currunit); > - const struct scheduler *ops = per_cpu(scheduler, cpu); > + struct sched_resource *sd = get_sched_res(cpu); > + const struct scheduler *ops = sd->scheduler; > > ASSERT( sched_unit_cpu(currunit) == cpu ); > ASSERT( svc->sdom != NULL ); > @@ -987,8 +989,7 @@ csched_unit_acct(struct csched_private *prv, unsigned int > cpu) > * idlers. But, if we are here, it means there is someone running > * on it, and hence the bit must be zero already. > */ > - ASSERT(!cpumask_test_cpu(cpu, > - CSCHED_PRIV(per_cpu(scheduler, > cpu))->idlers)); > + ASSERT(!cpumask_test_cpu(cpu, > CSCHED_PRIV(sd->scheduler)->idlers)); While at the first glance "sd" is used twice here, this 2nd use is actually unnecessary - "cpu" hasn't changed from the beginning of the function afaics, and hence "ops" could be used here. Preferably with the suggested adjustments (but final judgement is with the scheduler maintainers anyway) Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |