Re: [PATCH] x86: merge the simple bitops and move them to bitops.h

From: Andi Kleen
Date: Fri Mar 14 2008 - 18:17:17 EST


> #else
> static inline int fls64(__u64 x)
> {
> if (x == 0)
> return 0;
> return __fls(x) + 1;

That would require a polymorphic macro __fls that adapts to 32bit and 64bit
arguments. Not good C style.

> This is the only reason that this define exists. With another
> name it would be fine. HWEIGHT_USE_MULTIPLIER?

AFAIK it only exists because some ancient sparc chips had incredibly
slow multipliers.

> And my feeling is that this is exactly the reason why this is
> not a good version for a generic implementation in bitops.h. But
> I don't care much.

I bet most different approaches who might be slightly
faster for larger bit strings would make the one bit
case slower.

-Andi

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/