Message ID | 20220210224933.379149-41-yury.norov@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | None | expand |
On Thu, Feb 10, 2022 at 02:49:24PM -0800, Yury Norov wrote: > down_and_up_cpus() calls cpumask_weight() to compare the weight of > cpumask with a given number. We can do it more efficiently with > cpumask_weight_{eq, ...} because conditional cpumask_weight may stop > traversing the cpumask earlier, as soon as condition is (or can't be) met. > Nit: s/pcsi/psci/ in $subject. With that fixed, Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
On Thu, Feb 10, 2022 at 02:49:24PM -0800, Yury Norov wrote: > down_and_up_cpus() calls cpumask_weight() to compare the weight of > cpumask with a given number. We can do it more efficiently with > cpumask_weight_{eq, ...} because conditional cpumask_weight may stop > traversing the cpumask earlier, as soon as condition is (or can't be) met. > > Signed-off-by: Yury Norov <yury.norov@gmail.com> With the 'pcsi' typo fixed: Acked-by: Mark Rutland <mark.rutland@arm.com> Mark. > --- > drivers/firmware/psci/psci_checker.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/firmware/psci/psci_checker.c b/drivers/firmware/psci/psci_checker.c > index 116eb465cdb4..90c9473832a9 100644 > --- a/drivers/firmware/psci/psci_checker.c > +++ b/drivers/firmware/psci/psci_checker.c > @@ -90,7 +90,7 @@ static unsigned int down_and_up_cpus(const struct cpumask *cpus, > * cpu_down() checks the number of online CPUs before the TOS > * resident CPU. > */ > - if (cpumask_weight(offlined_cpus) + 1 == nb_available_cpus) { > + if (cpumask_weight_eq(offlined_cpus, nb_available_cpus - 1)) { > if (ret != -EBUSY) { > pr_err("Unexpected return code %d while trying " > "to power down last online CPU %d\n", > -- > 2.32.0 >
diff --git a/drivers/firmware/psci/psci_checker.c b/drivers/firmware/psci/psci_checker.c index 116eb465cdb4..90c9473832a9 100644 --- a/drivers/firmware/psci/psci_checker.c +++ b/drivers/firmware/psci/psci_checker.c @@ -90,7 +90,7 @@ static unsigned int down_and_up_cpus(const struct cpumask *cpus, * cpu_down() checks the number of online CPUs before the TOS * resident CPU. */ - if (cpumask_weight(offlined_cpus) + 1 == nb_available_cpus) { + if (cpumask_weight_eq(offlined_cpus, nb_available_cpus - 1)) { if (ret != -EBUSY) { pr_err("Unexpected return code %d while trying " "to power down last online CPU %d\n",
down_and_up_cpus() calls cpumask_weight() to compare the weight of cpumask with a given number. We can do it more efficiently with cpumask_weight_{eq, ...} because conditional cpumask_weight may stop traversing the cpumask earlier, as soon as condition is (or can't be) met. Signed-off-by: Yury Norov <yury.norov@gmail.com> --- drivers/firmware/psci/psci_checker.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)