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(-)
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@bugseng.com>
---
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
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@bugseng.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> ---
> 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
>
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@bugseng.com>
>
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
>
>
> > ---
> > 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
> >
>
On Mon, 2023-07-31 at 14:40 -0700, Stefano Stabellini wrote: > George, Dario, > > Please ack > Looks good to me. Acked-by: Dario Faggioli <dfaggioli@suse.com> Thanks and Regards -- Dario Faggioli, Ph.D http://about.me/dario.faggioli Virtualization Software Engineer SUSE Labs, SUSE https://www.suse.com/ ------------------------------------------------------------------- <<This happens because _I_ choose it to happen!>> (Raistlin Majere)
© 2016 - 2026 Red Hat, Inc.