[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v2 2/7] xen: credit2: factor runqueue initialization in its own function.
As it will be useful in later changes. While there, fix the doc-comment. No functional change intended. Signed-off-by: Dario Faggioli <dfaggioli@xxxxxxxx> --- Cc: George Dunlap <george.dunlap@xxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> --- Changes from v1: * new patch --- xen/common/sched/credit2.c | 35 +++++++++++++++++++++++------------ 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/xen/common/sched/credit2.c b/xen/common/sched/credit2.c index 697c9f917d..8a4f28b9f5 100644 --- a/xen/common/sched/credit2.c +++ b/xen/common/sched/credit2.c @@ -3766,21 +3766,16 @@ csched2_alloc_pdata(const struct scheduler *ops, int cpu) return spc; } -/* Returns the ID of the runqueue the cpu is assigned to. */ -static struct csched2_runqueue_data * -init_pdata(struct csched2_private *prv, struct csched2_pcpu *spc, - unsigned int cpu) +/* + * Do what's necessary to add cpu to the rqd (including activating the + * runqueue, if this is the first CPU we put in it). + */ +static void +init_cpu_runqueue(struct csched2_private *prv, struct csched2_pcpu *spc, + unsigned int cpu, struct csched2_runqueue_data *rqd) { - struct csched2_runqueue_data *rqd; unsigned int rcpu; - ASSERT(rw_is_write_locked(&prv->lock)); - ASSERT(!cpumask_test_cpu(cpu, &prv->initialized)); - /* CPU data needs to be allocated, but still uninitialized. */ - ASSERT(spc); - - rqd = spc->rqd; - ASSERT(rqd && !cpumask_test_cpu(cpu, &spc->rqd->active)); printk(XENLOG_INFO "Adding cpu %d to runqueue %d\n", cpu, rqd->id); @@ -3816,6 +3811,22 @@ init_pdata(struct csched2_private *prv, struct csched2_pcpu *spc, if ( rqd->nr_cpus == 1 ) rqd->pick_bias = cpu; +} + +/* Returns a pointer to the runqueue the cpu is assigned to. */ +static struct csched2_runqueue_data * +init_pdata(struct csched2_private *prv, struct csched2_pcpu *spc, + unsigned int cpu) +{ + struct csched2_runqueue_data *rqd; + + ASSERT(rw_is_write_locked(&prv->lock)); + ASSERT(!cpumask_test_cpu(cpu, &prv->initialized)); + /* CPU data needs to be allocated, but still uninitialized. */ + ASSERT(spc); + + rqd = spc->rqd; + init_cpu_runqueue(prv, spc, cpu, rqd); return rqd; }
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |