Re: [RFC PATCH 2/2] treewide, bits: use ffs_val() where it is open-coded

From: Kuan-Wei Chiu

Date: Sat Jan 10 2026 - 13:21:35 EST


On Sat, Jan 10, 2026 at 10:36:07AM +0000, Maciej W. Rozycki wrote:
> On Fri, 9 Jan 2026, Yury Norov wrote:
>
> > > diff --git a/arch/alpha/kernel/smp.c b/arch/alpha/kernel/smp.c
> > > index ed06367ece574..2f3809c015b99 100644
> > > --- a/arch/alpha/kernel/smp.c
> > > +++ b/arch/alpha/kernel/smp.c
> > > @@ -525,7 +525,7 @@ handle_ipi(struct pt_regs *regs)
> > > do {
> > > unsigned long which;
> > >
> > > - which = ops & -ops;
> > > + which = ffs_val(ops);
> > > ops &= ~which;
> > > which = __ffs(which);
> >
> > I guess, this should be:
> >
> > which = __ffs(ops);
> > ops &= ops - 1;
>
> I think it's the wrong operation order.
>
> > > diff --git a/arch/mips/dec/ecc-berr.c b/arch/mips/dec/ecc-berr.c
> > > index 1eb356fdd8323..8934b8b1cf375 100644
> > > --- a/arch/mips/dec/ecc-berr.c
> > > +++ b/arch/mips/dec/ecc-berr.c
> > > @@ -153,7 +153,7 @@ static int dec_ecc_be_backend(struct pt_regs *regs, int is_fixup, int invoker)
> > > /* Ack now, now we've rewritten (or not). */
> > > dec_ecc_be_ack();
> > >
> > > - if (syn && syn == (syn & -syn)) {
> > > + if (syn && syn == ffs_val(syn)) {
> >
> > It opencodes is_power_of_2().
>
> Correct and it also predates that helper's existence by ~4 years. I'll
> be happy to see this converted as the intent will be obviously clearer.
>
> Maciej
>

Hi all,

(Apologies for the off-topic question regarding email delivery)

I noticed Maciej's reply only after seeing David's subsequent response.
For some reason, this specific email from Maciej never reached my gmail
inbox, nor did it appear in my spam folder. It seems gmail may have
silently dropped it.

I have retrieved this raw message from the lore.kernel.org web
interface to reply here.

Since there are other gmail users on this thread (e.g., David, whom I
assume received it successfully given the reply), I am wondering if
anyone else using gmail experienced similar issues with this message?

If anyone has insights on why this might be happening or how to adjust
settings to prevent this, please let me know. I want to ensure I don't
inadvertently miss any comments or appear unresponsive in the future.

Regards,
Kuan-Wei