Re: [PATCH akpm/next] lib: crc32: conditionally constify crc32 lookup table

From: Andrew Morton
Date: Fri Jan 02 2015 - 20:08:35 EST


On Sat, 03 Jan 2015 01:12:43 +0100 Daniel Borkmann <dborkman@xxxxxxxxxx> wrote:

> > Seems a lot of fuss. Why are these tables cacheline aligned anyway?
> > To avoid one cache miss (most of the time, presumably) in a 16k table.
> > Pretty marginal benefit, I suspect.
>
> I guess, it actually came in with the slice-by-8 algorithm (e.g. used
> in SCTP checksumming if no offloading is available) that was added back
> then, that is, commit 324eb0f17d9dc ("crc32: add slice-by-8 algorithm
> to existing code").

non-responsive ;) By far the simplest solution is to remove the
cacheline alignment.

Are there other places where CC_HAVE_CONST_ALIGN can be used? I'm seeing

z:/usr/src/linux-3.19-rc2> grep -r cacheline_aligned . | grep const
./arch/x86/um/sys_call_table_32.c:const sys_call_ptr_t sys_call_table[] __cacheline_aligned = {
./arch/x86/um/sys_call_table_64.c:const sys_call_ptr_t sys_call_table[] __cacheline_aligned = {
./include/net/netfilter/nf_tables.h: const struct nft_set_ops *ops ____cacheline_aligned;
./net/ethernet/eth.c:const struct header_ops eth_header_ops ____cacheline_aligned = {

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