netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCHv2 net-next 00/15] IPVS optimizations
@ 2013-03-09 21:16 Julian Anastasov
  2013-03-09 21:16 ` [PATCHv2 net-next 01/15] net: add skb_dst_set_unref Julian Anastasov
                   ` (14 more replies)
  0 siblings, 15 replies; 20+ messages in thread
From: Julian Anastasov @ 2013-03-09 21:16 UTC (permalink / raw)
  To: Simon Horman; +Cc: lvs-devel, netdev

	This is a first patchset for IPVS optimizations.
Another patchset will address the locking in schedulers
and moving the global _bh disabling from LOCAL_OUT to all
locks. It is in TODO list.

	All patches are for net-next. The idea is
after discussion and review Simon to apply the patchset
to ipvs-next tree.

	The changes in this patchset eliminate locks
and dst refcnt operations from packet processing by
using RCU. There are more details in the patches.

v2:
* use "net: add skb_dst_set_unref" instead of
  "net: add dst_get_noref and refdst_ptr helpers"
* add "ipvs: no need to reroute anymore on DNAT over loopback"
* add "ipvs: do not use skb_share_check"
* add "ipvs: consolidate all dst checks on transmit in one place", so
  that we can avoid the refdst games in next patch
* after "ipvs: consolidate all dst checks on transmit in one place"
  "ipvs: optimize dst usage for real server" is simpler and
  uses the new skb_dst_set_unref function
* extend "ipvs: reorder keys in connection structure" with
  changes in ip_vs_ct_in_get
* fix "ipvs: avoid kmem_cache_zalloc in ip_vs_conn_new" to use new
  function ip_vs_addr_set, so that we reset all address fields
  that are used for hashing by hash_conntrack_raw

Julian Anastasov (15):
  net: add skb_dst_set_unref
  ipvs: avoid routing by TOS for real server
  ipvs: prefer NETDEV_DOWN event to free cached dsts
  ipvs: convert the IP_VS_XMIT macros to functions
  ipvs: rename functions related to dst_cache reset
  ipvs: no need to reroute anymore on DNAT over loopback
  ipvs: do not use skb_share_check
  ipvs: consolidate all dst checks on transmit in one place
  ipvs: optimize dst usage for real server
  ipvs: convert app locks
  ipvs: remove rs_lock by using RCU
  ipvs: convert locks used in persistence engines
  ipvs: convert connection locking
  ipvs: reorder keys in connection structure
  ipvs: avoid kmem_cache_zalloc in ip_vs_conn_new

 include/linux/skbuff.h                |   14 +
 include/net/ip_vs.h                   |   71 ++-
 net/netfilter/ipvs/ip_vs_app.c        |   27 +-
 net/netfilter/ipvs/ip_vs_conn.c       |  271 +++++----
 net/netfilter/ipvs/ip_vs_core.c       |   16 +-
 net/netfilter/ipvs/ip_vs_ctl.c        |  128 ++--
 net/netfilter/ipvs/ip_vs_ftp.c        |    2 +
 net/netfilter/ipvs/ip_vs_pe.c         |   43 +-
 net/netfilter/ipvs/ip_vs_pe_sip.c     |    1 +
 net/netfilter/ipvs/ip_vs_proto_sctp.c |   18 +-
 net/netfilter/ipvs/ip_vs_proto_tcp.c  |   18 +-
 net/netfilter/ipvs/ip_vs_proto_udp.c  |   19 +-
 net/netfilter/ipvs/ip_vs_xmit.c       | 1046 ++++++++++++++-------------------
 13 files changed, 779 insertions(+), 895 deletions(-)

-- 
1.7.3.4

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

end of thread, other threads:[~2013-03-10 22:05 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-03-09 21:16 [PATCHv2 net-next 00/15] IPVS optimizations Julian Anastasov
2013-03-09 21:16 ` [PATCHv2 net-next 01/15] net: add skb_dst_set_unref Julian Anastasov
2013-03-10  9:17   ` David Miller
2013-03-10 13:37     ` Julian Anastasov
2013-03-10 21:00       ` David Miller
2013-03-10 22:05         ` Julian Anastasov
2013-03-09 21:16 ` [PATCHv2 net-next 02/15] ipvs: avoid routing by TOS for real server Julian Anastasov
2013-03-09 21:16 ` [PATCHv2 net-next 03/15] ipvs: prefer NETDEV_DOWN event to free cached dsts Julian Anastasov
2013-03-09 21:16 ` [PATCHv2 net-next 04/15] ipvs: convert the IP_VS_XMIT macros to functions Julian Anastasov
2013-03-09 21:16 ` [PATCHv2 net-next 05/15] ipvs: rename functions related to dst_cache reset Julian Anastasov
2013-03-09 21:16 ` [PATCHv2 net-next 06/15] ipvs: no need to reroute anymore on DNAT over loopback Julian Anastasov
2013-03-09 21:16 ` [PATCHv2 net-next 07/15] ipvs: do not use skb_share_check Julian Anastasov
2013-03-09 21:16 ` [PATCHv2 net-next 08/15] ipvs: consolidate all dst checks on transmit in one place Julian Anastasov
2013-03-09 21:16 ` [PATCHv2 net-next 09/15] ipvs: optimize dst usage for real server Julian Anastasov
2013-03-09 21:16 ` [PATCHv2 net-next 10/15] ipvs: convert app locks Julian Anastasov
2013-03-09 21:16 ` [PATCHv2 net-next 11/15] ipvs: remove rs_lock by using RCU Julian Anastasov
2013-03-09 21:16 ` [PATCHv2 net-next 12/15] ipvs: convert locks used in persistence engines Julian Anastasov
2013-03-09 21:16 ` [PATCHv2 net-next 13/15] ipvs: convert connection locking Julian Anastasov
2013-03-09 21:16 ` [PATCHv2 net-next 14/15] ipvs: reorder keys in connection structure Julian Anastasov
2013-03-09 21:16 ` [PATCHv2 net-next 15/15] ipvs: avoid kmem_cache_zalloc in ip_vs_conn_new Julian Anastasov

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