netfilter-devel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH nf-next v3 0/7] netfilter: skbuff: merge nfctinfo bits and nfct pointer
@ 2017-01-23 12:28 Florian Westphal
  2017-01-23 12:28 ` [PATCH v3 nf-next 1/7] netfilter: conntrack: no need to pass ctinfo to error handler Florian Westphal
                   ` (6 more replies)
  0 siblings, 7 replies; 13+ messages in thread
From: Florian Westphal @ 2017-01-23 12:28 UTC (permalink / raw)
  To: netfilter-devel

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(-)

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2017-01-23 22:57 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-01-23 12:28 [PATCH nf-next v3 0/7] netfilter: skbuff: merge nfctinfo bits and nfct pointer Florian Westphal
2017-01-23 12:28 ` [PATCH v3 nf-next 1/7] netfilter: conntrack: no need to pass ctinfo to error handler Florian Westphal
2017-01-23 12:28 ` [PATCH v3 nf-next 2/7] netfilter: reset netfilter state when duplicating packet Florian Westphal
2017-01-23 12:28 ` [PATCH v3 nf-next 3/7] netfilter: reduce direct skb->nfct usage Florian Westphal
2017-01-23 12:28 ` [PATCH v3 nf-next 4/7] skbuff: add and use skb_nfct helper Florian Westphal
2017-01-23 12:28 ` [PATCH v3 nf-next 5/7] netfilter: add and use nf_ct_set helper Florian Westphal
2017-01-23 12:54   ` Pablo Neira Ayuso
2017-01-23 16:10     ` Florian Westphal
2017-01-23 19:37       ` Jozsef Kadlecsik
2017-01-23 21:22         ` Florian Westphal
2017-01-23 22:57           ` Jozsef Kadlecsik
2017-01-23 12:28 ` [PATCH v3 nf-next 6/7] netfilter: guarantee 8 byte minalign for template addresses Florian Westphal
2017-01-23 12:28 ` [PATCH v3 nf-next 7/7] netfilter: merge ctinfo into nfct pointer storage area Florian Westphal

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).