]> git.baikalelectronics.ru Git - kernel.git/commit
ipvs: add support for sync threads
authorPablo Neira Ayuso <pablo@netfilter.org>
Tue, 8 May 2012 17:40:30 +0000 (19:40 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Tue, 8 May 2012 17:40:33 +0000 (19:40 +0200)
commitf420c3d2339e0f28a42c4ff52f01164f2c9d6b3f
tree9523b3ba632e051b3d196f3bc6d8b0258e7c4fcd
parentef8152c3b17e7fb7a4e6cd747f16e27dca2c361e
ipvs: add support for sync threads

Allow master and backup servers to use many threads
for sync traffic. Add sysctl var "sync_ports" to define the
number of threads. Every thread will use single UDP port,
thread 0 will use the default port 8848 while last thread
will use port 8848+sync_ports-1.

The sync traffic for connections is scheduled to many
master threads based on the cp address but one connection is
always assigned to same thread to avoid reordering of the
sync messages.

Remove ip_vs_sync_switch_mode because this check
for sync mode change is still risky. Instead, check for mode
change under sync_buff_lock.

Make sure the backup socks do not block on reading.

Special thanks to Aleksey Chudov for helping in all tests.

Signed-off-by: Julian Anastasov <ja@ssi.bg>
Tested-by: Aleksey Chudov <aleksey.chudov@gmail.com>
Signed-off-by: Simon Horman <horms@verge.net.au>
include/net/ip_vs.h
net/netfilter/ipvs/ip_vs_conn.c
net/netfilter/ipvs/ip_vs_ctl.c
net/netfilter/ipvs/ip_vs_sync.c