Re: [PATCH 2/2] word-at-a-time: provide generic big-endianzero_bytemask implementation

From: Will Deacon
Date: Thu Dec 12 2013 - 12:02:48 EST


Hi Linus,

On Tue, Dec 10, 2013 at 08:08:20PM +0000, Linus Torvalds wrote:
> Hmm. Did you try to time this?

I took it for a spin on a big-endian ARMv7 platform (32-bit) and the hashing is
around 40% faster.

> Also, I really have #ifdef's in code, and I think we'd be better off
> just exposing a function that does this
>
> +#ifdef __BIG_ENDIAN
> + mask = ~(~0ul >> tcount*8);
> +#else
> mask = ~(~0ul << tcount*8);
> +#endif
>
> thing. I think it would logically go together with zero_bytemask(),
> call it something like "bytemask_from_count()" or something. Hmm? It's
> basically just the reverse of "count_masked_bytes()", which we also
> have an abstraction for.

Yup, that's a good idea, I can probably just add something to dcache.h.
I'll spin a v2.

Cheers,

Will
--
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/