Whenever we fetch skb conntrack info, we need to access two distinct cache lines in sk_buff, #2 (nfct pointer) and #3 (nfctinfo bits). This series removes nfctinfo and joins it with the data pointer in a single ulong. We have 3 nfctinfo bits, the slab cache used for nf_conn objects guarantees at least 8 byte alignment so there is no overlap. For the conntrack templates most arches also guarantee an 8 byte minalign, but not all. Patch #6 adds manual alignment of the templates if ARCH_KMALLOC_MINALIGN isn't sufficient. A followup series to this one will resurrect an old patch from Pablo that adds an 'untracked' ctinfo status, this then allows to get rid of the conntrack template object (which in turn avoids get/put atomic ops for untracked skbs). include/linux/skbuff.h | 32 ++++++----- include/net/ip_vs.h | 10 ++- include/net/netfilter/nf_conntrack.h | 17 +++++- include/net/netfilter/nf_conntrack_core.h | 2 include/net/netfilter/nf_conntrack_l4proto.h | 2 net/core/skbuff.c | 2 net/ipv4/netfilter/ipt_SYNPROXY.c | 11 +-- net/ipv4/netfilter/nf_conntrack_proto_icmp.c | 15 ++--- net/ipv4/netfilter/nf_defrag_ipv4.c | 4 - net/ipv4/netfilter/nf_dup_ipv4.c | 7 +- net/ipv6/netfilter/ip6t_SYNPROXY.c | 11 +-- net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c | 20 +++---- net/ipv6/netfilter/nf_defrag_ipv6_hooks.c | 4 - net/ipv6/netfilter/nf_dup_ipv6.c | 7 +- net/netfilter/core.c | 2 net/netfilter/nf_conntrack_core.c | 70 ++++++++++++++++--------- net/netfilter/nf_conntrack_proto_dccp.c | 1 net/netfilter/nf_conntrack_proto_sctp.c | 2 net/netfilter/nf_conntrack_proto_tcp.c | 1 net/netfilter/nf_conntrack_proto_udp.c | 3 - net/netfilter/nf_conntrack_standalone.c | 3 + net/netfilter/nf_nat_helper.c | 2 net/netfilter/nft_ct.c | 3 - net/netfilter/xt_CT.c | 12 +--- net/openvswitch/conntrack.c | 12 +--- net/sched/cls_flow.c | 2 26 files changed, 141 insertions(+), 116 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html