[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: ack needed [XEN PATCH v3] xen/sched: mechanical renaming to address MISRA C:2012 Rule 5.3
George, Dario, Please ack On Fri, 28 Jul 2023, Stefano Stabellini wrote: > On Fri, 28 Jul 2023, Nicola Vetrini wrote: > > Rule 5.3 has the following headline: > > "An identifier declared in an inner scope shall not hide an > > identifier declared in an outer scope" > > > > The renaming s/sched_id/scheduler_id/ of the function defined in > > 'xen/common/sched/core.c' prevents any hiding of that function > > by the instances of homonymous function parameters that > > are defined in inner scopes. > > > > Similarly, the renames > > - s/ops/operations/ for the static variable in 'xen/common/sched/core.c' > > - s/do_softirq/needs_softirq/ > > are introduced for variables, to avoid any conflict with homonymous > > parameters or function identifiers. > > > > Moreover, the variable 'loop' defined at 'xen/common/sched/credit2.c:3887' > > has been dropped, in favour of the homonymous variable declared in the > > outer scope. This in turn requires a modification of the printk call that > > involves it. > > > > Signed-off-by: Nicola Vetrini <nicola.vetrini@xxxxxxxxxxx> > > Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx> > > > > --- > > Changes in v3: > > - removed stray changes to address the remarks > > Changes in v2: > > - s/softirq/needs_softirq/ > > - Dropped local variable 'it' > > - Renamed the 'ops' static variable instead of function parameters > > in the idle scheduler for coherence. > > > > Note: local variable 'j' in xen/common/sched/credit2.c:3812' should > > probably be unsigned as well, but I saw while editing the patch > > that it's used as a parameter to 'dump_pcpu', which takes an int. > > Possibly changing the types of parameters used in these calls is > > probably a good target for another patch, as it's not relevant > > w.r.t. Rule 5.3. > > --- > > xen/common/sched/core.c | 28 ++++++++++++++-------------- > > xen/common/sched/credit2.c | 6 +++--- > > xen/common/sysctl.c | 2 +- > > xen/include/xen/sched.h | 2 +- > > 4 files changed, 19 insertions(+), 19 deletions(-) > > > > diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c > > index 022f548652..12deefa745 100644 > > --- a/xen/common/sched/core.c > > +++ b/xen/common/sched/core.c > > @@ -91,7 +91,7 @@ extern const struct scheduler > > *__start_schedulers_array[], *__end_schedulers_arr > > #define NUM_SCHEDULERS (__end_schedulers_array - __start_schedulers_array) > > #define schedulers __start_schedulers_array > > > > -static struct scheduler __read_mostly ops; > > +static struct scheduler __read_mostly operations; > > > > static bool scheduler_active; > > > > @@ -171,7 +171,7 @@ static inline struct scheduler *dom_scheduler(const > > struct domain *d) > > * is the default scheduler that has been, choosen at boot. > > */ > > ASSERT(is_idle_domain(d)); > > - return &ops; > > + return &operations; > > } > > > > static inline struct scheduler *unit_scheduler(const struct sched_unit > > *unit) > > @@ -2040,10 +2040,10 @@ long do_set_timer_op(s_time_t timeout) > > return 0; > > } > > > > -/* sched_id - fetch ID of current scheduler */ > > -int sched_id(void) > > +/* scheduler_id - fetch ID of current scheduler */ > > +int scheduler_id(void) > > { > > - return ops.sched_id; > > + return operations.sched_id; > > } > > > > /* Adjust scheduling parameter for a given domain. */ > > @@ -2579,7 +2579,7 @@ static void cf_check sched_slave(void) > > struct sched_unit *prev = vprev->sched_unit, *next; > > s_time_t now; > > spinlock_t *lock; > > - bool do_softirq = false; > > + bool needs_softirq = false; > > unsigned int cpu = smp_processor_id(); > > > > ASSERT_NOT_IN_ATOMIC(); > > @@ -2604,7 +2604,7 @@ static void cf_check sched_slave(void) > > return; > > } > > > > - do_softirq = true; > > + needs_softirq = true; > > } > > > > if ( !prev->rendezvous_in_cnt ) > > @@ -2614,7 +2614,7 @@ static void cf_check sched_slave(void) > > rcu_read_unlock(&sched_res_rculock); > > > > /* Check for failed forced context switch. */ > > - if ( do_softirq ) > > + if ( needs_softirq ) > > raise_softirq(SCHEDULE_SOFTIRQ); > > > > return; > > @@ -3016,14 +3016,14 @@ void __init scheduler_init(void) > > BUG_ON(!scheduler); > > printk("Using '%s' (%s)\n", scheduler->name, scheduler->opt_name); > > } > > - ops = *scheduler; > > + operations = *scheduler; > > > > if ( cpu_schedule_up(0) ) > > BUG(); > > register_cpu_notifier(&cpu_schedule_nfb); > > > > - printk("Using scheduler: %s (%s)\n", ops.name, ops.opt_name); > > - if ( sched_init(&ops) ) > > + printk("Using scheduler: %s (%s)\n", operations.name, > > operations.opt_name); > > + if ( sched_init(&operations) ) > > panic("scheduler returned error on init\n"); > > > > if ( sched_ratelimit_us && > > @@ -3363,7 +3363,7 @@ int schedule_cpu_rm(unsigned int cpu, struct > > cpu_rm_data *data) > > > > struct scheduler *scheduler_get_default(void) > > { > > - return &ops; > > + return &operations; > > } > > > > struct scheduler *scheduler_alloc(unsigned int sched_id) > > @@ -3392,7 +3392,7 @@ struct scheduler *scheduler_alloc(unsigned int > > sched_id) > > > > void scheduler_free(struct scheduler *sched) > > { > > - BUG_ON(sched == &ops); > > + BUG_ON(sched == &operations); > > sched_deinit(sched); > > xfree(sched); > > } > > @@ -3416,7 +3416,7 @@ void schedule_dump(struct cpupool *c) > > } > > else > > { > > - sched = &ops; > > + sched = &operations; > > cpus = &cpupool_free_cpus; > > } > > > > diff --git a/xen/common/sched/credit2.c b/xen/common/sched/credit2.c > > index 87a1e31ee9..fc583915df 100644 > > --- a/xen/common/sched/credit2.c > > +++ b/xen/common/sched/credit2.c > > @@ -3874,7 +3874,7 @@ csched2_dump(const struct scheduler *ops) > > > > lock = unit_schedule_lock(unit); > > > > - printk("\t%3d: ", ++loop); > > + printk("\t%3u: ", ++loop); > > csched2_dump_unit(prv, svc); > > > > unit_schedule_unlock(lock, unit); > > @@ -3884,8 +3884,8 @@ csched2_dump(const struct scheduler *ops) > > list_for_each_entry ( rqd, &prv->rql, rql ) > > { > > struct list_head *iter, *runq = &rqd->runq; > > - int loop = 0; > > > > + loop = 0; > > /* We need the lock to scan the runqueue. */ > > spin_lock(&rqd->lock); > > > > @@ -3901,7 +3901,7 @@ csched2_dump(const struct scheduler *ops) > > > > if ( svc ) > > { > > - printk("\t%3d: ", loop++); > > + printk("\t%3u: ", loop++); > > csched2_dump_unit(prv, svc); > > } > > } > > diff --git a/xen/common/sysctl.c b/xen/common/sysctl.c > > index 0cbfe8bd44..7cabfb0230 100644 > > --- a/xen/common/sysctl.c > > +++ b/xen/common/sysctl.c > > @@ -71,7 +71,7 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) > > u_sysctl) > > break; > > > > case XEN_SYSCTL_sched_id: > > - op->u.sched_id.sched_id = sched_id(); > > + op->u.sched_id.sched_id = scheduler_id(); > > break; > > > > case XEN_SYSCTL_getdomaininfolist: > > diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h > > index 854f3e32c0..bfe714d2e2 100644 > > --- a/xen/include/xen/sched.h > > +++ b/xen/include/xen/sched.h > > @@ -791,7 +791,7 @@ int sched_init_domain(struct domain *d, unsigned int > > poolid); > > void sched_destroy_domain(struct domain *d); > > long sched_adjust(struct domain *, struct xen_domctl_scheduler_op *); > > long sched_adjust_global(struct xen_sysctl_scheduler_op *); > > -int sched_id(void); > > +int scheduler_id(void); > > > > /* > > * sched_get_id_by_name - retrieves a scheduler id given a scheduler name > > -- > > 2.34.1 > > >
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |