public inbox for netdev@vger.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox