This is part 1 of a series that aims to remove both the unconfirmed and dying lists. This moves the dying list into the ecache infrastructure. Entries are placed on this list only if the delivery of the destroy event has failed (which implies that at least one userspace listener did request redelivery). The percpu dying list is removed in the last patch as it has no functionality anymore. This avoids the extra spinlock for conntrack removal. Florian Westphal (7): nfnetlink: handle already-released nl socket netfilter: ctnetlink: make ecache event cb global again netfilter: ecache: move to separate structure netfilter: ecache: use dedicated list for event redelivery netfilter: conntrack: split inner loop of list dumping to own function netfilter: conntrack: include ecache dying list in dumps netfilter: conntrack: remove the percpu dying list include/net/netfilter/nf_conntrack.h | 9 +- include/net/netfilter/nf_conntrack_ecache.h | 21 +-- include/net/netns/conntrack.h | 2 - net/netfilter/nf_conntrack_core.c | 60 ++++--- net/netfilter/nf_conntrack_ecache.c | 172 +++++++++----------- net/netfilter/nf_conntrack_netlink.c | 150 +++++++++-------- net/netfilter/nfnetlink.c | 62 +++++-- 7 files changed, 256 insertions(+), 220 deletions(-) -- 2.34.1