All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.