netfilter-devel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* remarkably Increase iptables' speed on SMP system.
@ 2007-09-28  2:15 John Ye
  2007-09-28 12:18 ` Amin Azez
  2007-09-28 13:52 ` Jan Engelhardt
  0 siblings, 2 replies; 12+ messages in thread
From: John Ye @ 2007-09-28  2:15 UTC (permalink / raw)
  To: netfilter-devel; +Cc:  john ye, YE QY

All,

Iptables can't make full use of SMP because it runs in softirq.
There are many reports or complains saying that when netfilter runs, only one or two CPUs are busy doing softirq while others are
idle. see http://www.ussg.iu.edu/hypermail/linux/kernel/0702.0/1833.html, you can find many of these reports by googleING 'iptables
SMP sofitrq'.
This situation becomes especially worse when iptables' load is high, for example, when there are too many rules to match or there
are too many connections to track.
irqbalance looks like resolving this problem, but it does NOT. Balancing irq among CPUs doesn't mean to take full advantages of SMP
in any sense, periodically shifting NIC irq among CPUs can't gain extra processing speed(Because CPUs are not concurrently run in
softirq), when irq is shifted from CPU0 to CPU1, the CPU1 is busy, CPU0 becomes idle.
Linux network irq handling code tends to collect same irqs on different CPUs into one CPU when NIC is busy.
This tendency will make irqblance not work well. After running iptables for some time, the originally balanced irq may become
unbalanced. And, even if irqbalance works well, iptalbes' processing capacity doesn't go up.

There is a kernel patch to let softirq network code(iptables included in) concurrently run on every CPUs on SMP system.
We wrote the kernel patch, a loadable module as well, to totally resolve iptables SMP issue.
Have discussed with kernel netdev experts. it should be working.

The patch(module) will greatly increase the speed of iptalbes by making full use of every CPUs in SMP system.

It can be viewed and downloaded from blog http://blog.chinaunix.net/u/12848/showart.php?id=389602
You are welcome to review and test without patching and re-compiling the kerenl.

Thanks.

John Ye & Qianyu Ye




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

end of thread, other threads:[~2007-10-10  1:45 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <001201c80298$3509ac10$0201a8c0@ibmea4709fd199>
2007-09-29 13:23 ` remarkably Increase iptables' speed on SMP system john ye
2007-09-28  2:15 John Ye
2007-09-28 12:18 ` Amin Azez
2007-09-28 13:29   ` Henrik Nordstrom
2007-09-28 16:01   ` Rennie deGraaf
2007-09-29  9:52   ` John Ye
2007-10-01  7:21   ` john ye
2007-10-01 12:10     ` john ye
2007-10-08 12:04   ` john ye
2007-10-08 16:40     ` Patrick McHardy
2007-10-10  1:48       ` John Ye
2007-09-28 13:52 ` Jan Engelhardt

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