[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [XEN PATCH v3] xen/sched: mechanical renaming to address MISRA C:2012 Rule 5.3
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 |