Files
ack-tegra/include/linux
Eric Dumazet e8648a1fdb netfilter: add xt_cpu match
In some situations a CPU match permits a better spreading of
connections, or select targets only for a given cpu.

With Remote Packet Steering or multiqueue NIC and appropriate IRQ
affinities, we can distribute trafic on available cpus, per session.
(all RX packets for a given flow is handled by a given cpu)

Some legacy applications being not SMP friendly, one way to scale a
server is to run multiple copies of them.

Instead of randomly choosing an instance, we can use the cpu number as a
key so that softirq handler for a whole instance is running on a single
cpu, maximizing cache effects in TCP/UDP stacks.

Using NAT for example, a four ways machine might run four copies of
server application, using a separate listening port for each instance,
but still presenting an unique external port :

iptables -t nat -A PREROUTING -p tcp --dport 80 -m cpu --cpu 0 \
        -j REDIRECT --to-port 8080

iptables -t nat -A PREROUTING -p tcp --dport 80 -m cpu --cpu 1 \
        -j REDIRECT --to-port 8081

iptables -t nat -A PREROUTING -p tcp --dport 80 -m cpu --cpu 2 \
        -j REDIRECT --to-port 8082

iptables -t nat -A PREROUTING -p tcp --dport 80 -m cpu --cpu 3 \
        -j REDIRECT --to-port 8083

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
2010-07-23 12:59:36 +02:00
..
2010-05-28 01:38:00 +02:00
2010-07-23 12:59:36 +02:00
2010-06-04 16:00:42 -04:00
2010-05-27 09:12:53 -07:00
2010-06-24 21:30:09 -07:00
2010-05-27 22:05:02 -04:00
2010-05-27 22:15:33 -04:00
2010-05-25 08:07:01 -07:00
2010-05-27 09:12:42 -07:00
2010-06-03 03:21:52 -07:00
2010-06-03 03:21:52 -07:00
2010-06-03 03:21:52 -07:00
2010-06-03 03:21:52 -07:00
2010-06-28 23:24:30 -07:00
2010-06-03 03:21:52 -07:00
2010-06-23 13:16:38 -07:00
2010-06-22 08:07:01 +02:00
2010-06-03 03:21:52 -07:00
2010-06-03 03:21:52 -07:00
2010-05-25 19:41:19 -04:00
2010-06-03 03:21:52 -07:00
2010-06-03 03:21:52 -07:00
2010-06-03 03:21:52 -07:00
2010-06-03 03:21:52 -07:00
2010-06-03 03:21:52 -07:00
2010-06-03 03:21:52 -07:00
2010-05-27 09:12:50 -07:00
2010-05-30 09:02:47 -07:00
2010-06-03 03:21:52 -07:00
2010-05-25 11:41:43 -04:00
2010-06-16 14:55:35 -07:00
2010-05-27 09:12:43 -07:00
2010-06-03 03:21:52 -07:00