* [PATCH 19/54] drivers/irqchip: replace cpumask_weight with cpumask_empty where appropriate [not found] <20220123183925.1052919-1-yury.norov@gmail.com> @ 2022-01-23 18:38 ` Yury Norov 2022-01-24 3:11 ` Florian Fainelli 2022-01-23 18:39 ` [PATCH 38/54] arch/mips: replace cpumask_weight with cpumask_weight_{eq, ...} " Yury Norov 1 sibling, 1 reply; 4+ messages in thread From: Yury Norov @ 2022-01-23 18:38 UTC (permalink / raw) To: Yury Norov, Andy Shevchenko, Rasmus Villemoes, Andrew Morton, Michał Mirosław, Greg Kroah-Hartman, Peter Zijlstra, David Laight, Joe Perches, Dennis Zhou, Emil Renner Berthing, Nicholas Piggin, Matti Vaittinen, Alexey Klimov, linux-kernel, Florian Fainelli, Thomas Gleixner, Marc Zyngier, bcm-kernel-feedback-list, linux-mips bcm6345_l1_of_init() calls cpumask_weight() to check if any bit of a given cpumask is set. We can do it more efficiently with cpumask_empty() because cpumask_empty() stops traversing the cpumask as soon as it finds first set bit, while cpumask_weight() counts all bits unconditionally. Signed-off-by: Yury Norov <yury.norov@gmail.com> --- drivers/irqchip/irq-bcm6345-l1.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/irqchip/irq-bcm6345-l1.c b/drivers/irqchip/irq-bcm6345-l1.c index fd079215c17f..142a7431745f 100644 --- a/drivers/irqchip/irq-bcm6345-l1.c +++ b/drivers/irqchip/irq-bcm6345-l1.c @@ -315,7 +315,7 @@ static int __init bcm6345_l1_of_init(struct device_node *dn, cpumask_set_cpu(idx, &intc->cpumask); } - if (!cpumask_weight(&intc->cpumask)) { + if (cpumask_empty(&intc->cpumask)) { ret = -ENODEV; goto out_free; } -- 2.30.2 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 19/54] drivers/irqchip: replace cpumask_weight with cpumask_empty where appropriate 2022-01-23 18:38 ` [PATCH 19/54] drivers/irqchip: replace cpumask_weight with cpumask_empty where appropriate Yury Norov @ 2022-01-24 3:11 ` Florian Fainelli 0 siblings, 0 replies; 4+ messages in thread From: Florian Fainelli @ 2022-01-24 3:11 UTC (permalink / raw) To: Yury Norov, Andy Shevchenko, Rasmus Villemoes, Andrew Morton, Michał Mirosław, Greg Kroah-Hartman, Peter Zijlstra, David Laight, Joe Perches, Dennis Zhou, Emil Renner Berthing, Nicholas Piggin, Matti Vaittinen, Alexey Klimov, linux-kernel, Thomas Gleixner, Marc Zyngier, bcm-kernel-feedback-list, linux-mips On 1/23/2022 10:38 AM, Yury Norov wrote: > bcm6345_l1_of_init() calls cpumask_weight() to check if any bit of a given > cpumask is set. We can do it more efficiently with cpumask_empty() because > cpumask_empty() stops traversing the cpumask as soon as it finds first set > bit, while cpumask_weight() counts all bits unconditionally. > > Signed-off-by: Yury Norov <yury.norov@gmail.com> Acked-by: Florian Fainelli <f.fainelli@gmail.com> -- Florian ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 38/54] arch/mips: replace cpumask_weight with cpumask_weight_{eq, ...} where appropriate [not found] <20220123183925.1052919-1-yury.norov@gmail.com> 2022-01-23 18:38 ` [PATCH 19/54] drivers/irqchip: replace cpumask_weight with cpumask_empty where appropriate Yury Norov @ 2022-01-23 18:39 ` Yury Norov 2022-01-25 19:05 ` Thomas Bogendoerfer 1 sibling, 1 reply; 4+ messages in thread From: Yury Norov @ 2022-01-23 18:39 UTC (permalink / raw) To: Yury Norov, Andy Shevchenko, Rasmus Villemoes, Andrew Morton, Michał Mirosław, Greg Kroah-Hartman, Peter Zijlstra, David Laight, Joe Perches, Dennis Zhou, Emil Renner Berthing, Nicholas Piggin, Matti Vaittinen, Alexey Klimov, linux-kernel, Thomas Bogendoerfer, Mark Rutland, Marc Zyngier, linux-mips Mips code uses 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 met. Signed-off-by: Yury Norov <yury.norov@gmail.com> --- arch/mips/cavium-octeon/octeon-irq.c | 4 ++-- arch/mips/kernel/crash.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/mips/cavium-octeon/octeon-irq.c b/arch/mips/cavium-octeon/octeon-irq.c index 844f882096e6..914871f15fb7 100644 --- a/arch/mips/cavium-octeon/octeon-irq.c +++ b/arch/mips/cavium-octeon/octeon-irq.c @@ -763,7 +763,7 @@ static void octeon_irq_cpu_offline_ciu(struct irq_data *data) if (!cpumask_test_cpu(cpu, mask)) return; - if (cpumask_weight(mask) > 1) { + if (cpumask_weight_gt(mask, 1)) { /* * It has multi CPU affinity, just remove this CPU * from the affinity set. @@ -795,7 +795,7 @@ static int octeon_irq_ciu_set_affinity(struct irq_data *data, * This removes the need to do locking in the .ack/.eoi * functions. */ - if (cpumask_weight(dest) != 1) + if (!cpumask_weight_eq(dest, 1)) return -EINVAL; if (!enable_one) diff --git a/arch/mips/kernel/crash.c b/arch/mips/kernel/crash.c index 81845ba04835..5b690d52491f 100644 --- a/arch/mips/kernel/crash.c +++ b/arch/mips/kernel/crash.c @@ -72,7 +72,7 @@ static void crash_kexec_prepare_cpus(void) */ pr_emerg("Sending IPI to other cpus...\n"); msecs = 10000; - while ((cpumask_weight(&cpus_in_crash) < ncpus) && (--msecs > 0)) { + while (cpumask_weight_lt(&cpus_in_crash, ncpus) && (--msecs > 0)) { cpu_relax(); mdelay(1); } -- 2.30.2 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 38/54] arch/mips: replace cpumask_weight with cpumask_weight_{eq, ...} where appropriate 2022-01-23 18:39 ` [PATCH 38/54] arch/mips: replace cpumask_weight with cpumask_weight_{eq, ...} " Yury Norov @ 2022-01-25 19:05 ` Thomas Bogendoerfer 0 siblings, 0 replies; 4+ messages in thread From: Thomas Bogendoerfer @ 2022-01-25 19:05 UTC (permalink / raw) To: Yury Norov Cc: Andy Shevchenko, Rasmus Villemoes, Andrew Morton, Michał Mirosław, Greg Kroah-Hartman, Peter Zijlstra, David Laight, Joe Perches, Dennis Zhou, Emil Renner Berthing, Nicholas Piggin, Matti Vaittinen, Alexey Klimov, linux-kernel, Mark Rutland, Marc Zyngier, linux-mips On Sun, Jan 23, 2022 at 10:39:09AM -0800, Yury Norov wrote: > Mips code uses 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 met. > > Signed-off-by: Yury Norov <yury.norov@gmail.com> > --- > arch/mips/cavium-octeon/octeon-irq.c | 4 ++-- > arch/mips/kernel/crash.c | 2 +- > 2 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/arch/mips/cavium-octeon/octeon-irq.c b/arch/mips/cavium-octeon/octeon-irq.c > index 844f882096e6..914871f15fb7 100644 > --- a/arch/mips/cavium-octeon/octeon-irq.c > +++ b/arch/mips/cavium-octeon/octeon-irq.c > @@ -763,7 +763,7 @@ static void octeon_irq_cpu_offline_ciu(struct irq_data *data) > if (!cpumask_test_cpu(cpu, mask)) > return; > > - if (cpumask_weight(mask) > 1) { > + if (cpumask_weight_gt(mask, 1)) { > /* > * It has multi CPU affinity, just remove this CPU > * from the affinity set. > @@ -795,7 +795,7 @@ static int octeon_irq_ciu_set_affinity(struct irq_data *data, > * This removes the need to do locking in the .ack/.eoi > * functions. > */ > - if (cpumask_weight(dest) != 1) > + if (!cpumask_weight_eq(dest, 1)) > return -EINVAL; > > if (!enable_one) > diff --git a/arch/mips/kernel/crash.c b/arch/mips/kernel/crash.c > index 81845ba04835..5b690d52491f 100644 > --- a/arch/mips/kernel/crash.c > +++ b/arch/mips/kernel/crash.c > @@ -72,7 +72,7 @@ static void crash_kexec_prepare_cpus(void) > */ > pr_emerg("Sending IPI to other cpus...\n"); > msecs = 10000; > - while ((cpumask_weight(&cpus_in_crash) < ncpus) && (--msecs > 0)) { > + while (cpumask_weight_lt(&cpus_in_crash, ncpus) && (--msecs > 0)) { > cpu_relax(); > mdelay(1); > } > -- > 2.30.2 Acked-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de> -- Crap can work. Given enough thrust pigs will fly, but it's not necessarily a good idea. [ RFC1925, 2.3 ] ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-01-25 22:51 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <20220123183925.1052919-1-yury.norov@gmail.com> 2022-01-23 18:38 ` [PATCH 19/54] drivers/irqchip: replace cpumask_weight with cpumask_empty where appropriate Yury Norov 2022-01-24 3:11 ` Florian Fainelli 2022-01-23 18:39 ` [PATCH 38/54] arch/mips: replace cpumask_weight with cpumask_weight_{eq, ...} " Yury Norov 2022-01-25 19:05 ` Thomas Bogendoerfer
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).