All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH RFC 0/6] ipv6: dst_entry socket caching improvments
@ 2014-09-11 23:21 Hannes Frederic Sowa
  2014-09-11 23:21 ` [PATCH RFC 1/6] ipv6: also increase fib6_node sernum on deletion events Hannes Frederic Sowa
                   ` (5 more replies)
  0 siblings, 6 replies; 10+ messages in thread
From: Hannes Frederic Sowa @ 2014-09-11 23:21 UTC (permalink / raw)
  To: netdev

Eric Dumazet noticed that rt6_nodes wich are neither RTF_NONEXTHOP nor
RTF_GATEWAY but DST_HOST ones cause major routing lookup churn because
their rt6_genid is never renewed, thus ip6_dst_check always considers
them outdated. This is a major problem, because these kind of routes
are normally used to in input handling.

This patchset tries to improve the situation by also updating the
fn_sernum in the routing tables during address deletion. The only
expensive operation left, which needs a walk over all routing tables,
are xfrm policy modifications.

I didn't annotate the patches with fixes-tags as it only solves a
performance issue. Please review carefully, thanks! I'll do some more
tests and will do a propoer submission if the xfrm slow paths looks ok
to everyone.

Hannes Frederic Sowa (6):
  ipv6: also increase fib6_node sernum on deletion events
  ipv6: no need to bump rt_genid_ipv6 on address change anymore
  ipv6: if no function for cleaner is specified only visit nodes
  ipv6: new function fib6_flush_trees and use it instead of bumping
    removed rt6_genid
  ipv6: keep rt_sernum per namespace to reduce number of flushes
  ipv6: switch rt_sernum to atomic_t and clean up types

 include/net/ip6_fib.h       |  2 +-
 include/net/net_namespace.h | 14 ++------
 include/net/netns/ipv6.h    |  2 +-
 net/ipv6/addrconf.c         |  1 -
 net/ipv6/addrconf_core.c    |  6 ++++
 net/ipv6/af_inet6.c         |  2 +-
 net/ipv6/ip6_fib.c          | 81 ++++++++++++++++++++++++++++++++-------------
 net/ipv6/route.c            |  4 ---
 8 files changed, 70 insertions(+), 42 deletions(-)

-- 
1.9.3

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

end of thread, other threads:[~2014-09-17 22:48 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-09-11 23:21 [PATCH RFC 0/6] ipv6: dst_entry socket caching improvments Hannes Frederic Sowa
2014-09-11 23:21 ` [PATCH RFC 1/6] ipv6: also increase fib6_node sernum on deletion events Hannes Frederic Sowa
2014-09-16 16:18   ` Nicolas Dichtel
2014-09-16 21:05     ` Hannes Frederic Sowa
2014-09-17 22:48     ` Hannes Frederic Sowa
2014-09-11 23:21 ` [PATCH RFC 2/6] ipv6: no need to bump rt_genid_ipv6 on address change anymore Hannes Frederic Sowa
2014-09-11 23:21 ` [PATCH RFC 3/6] ipv6: if no function for cleaner is specified only visit nodes Hannes Frederic Sowa
2014-09-11 23:21 ` [PATCH RFC 4/6] ipv6: new function fib6_flush_trees and use it instead of bumping removed rt6_genid Hannes Frederic Sowa
2014-09-11 23:21 ` [PATCH RFC 5/6] ipv6: keep rt_sernum per namespace to reduce number of flushes Hannes Frederic Sowa
2014-09-11 23:21 ` [PATCH RFC 6/6] ipv6: switch rt_sernum to atomic_t and clean up types Hannes Frederic Sowa

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.