[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] xen: credit2: document that min_rqd is valid and ok to use
Code is a bit involved, and it is not easy to tell that min_rqd, inside csched2_res_pick() is actually pointing to a runqueue, when it is dereferenced. Add a comment and an ASSERT() for that. Suggested-by: Jan Beulich <jbeulich@xxxxxxxx> Signed-off-by: Dario Faggioli <dfaggioli@xxxxxxxx> --- Cc: Jürgen Groß <jgross@xxxxxxxx> --- xen/common/sched/credit2.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/xen/common/sched/credit2.c b/xen/common/sched/credit2.c index c7241944a8..9da51e624b 100644 --- a/xen/common/sched/credit2.c +++ b/xen/common/sched/credit2.c @@ -2387,6 +2387,13 @@ csched2_res_pick(const struct scheduler *ops, const struct sched_unit *unit) goto out_up; } + /* + * If we're here, min_rqd must be valid. In fact, either we picked a + * runqueue in the "list_for_each" (as min_avgload is initialized to + * MAX_LOAD) or we just did that (in the "else" branch) above. + */ + ASSERT(min_rqd); + new_cpu = cpumask_cycle(min_rqd->pick_bias, cpumask_scratch_cpu(cpu)); min_rqd->pick_bias = new_cpu; BUG_ON(new_cpu >= nr_cpu_ids);
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |