6.22.05
m0n0wall and polling
Being the m0n0wall advocate I am, I wanted to share a pretty sweet update in the new beta release. Polling.
Polling, what's that? Well, the new beta versions of m0n0wall now run on the 4.11 kernel (the heart of this operating system) version of FreeBSD (the heart of m0n0wall) and has polling compiled into the kernel. For the sakes of being repetitive, here is a short description of what it does.
Device polling (polling for brevity) refers to a technique that lets the
operating system periodically poll devices, instead of relying on the
devices to generate interrupts when they need attention.
So, you may ask, "why is this any concern to me, the average m0n0wall user?" Well, the more time the router's CPU is spending processing interruptions, the less time it is spending processing packets: IE...less packets = lower throughput speed. Typical Interweb connections won't see this issue, but high traffic enviroments like file transfers between a LAN and DMZ can take a significant performance hit.
By enabling polling, the CPU is free(er) to simply process packets because it is scheduled to look for packets at preset intervals. My test results are as follows:
Polling disabled - ~45mbps
Polling enabled - ~75mbps

First portion was a bi-directional test. The last little bit was DMZ to LAN only.
My m0n0 boxen:
PII 350 MHz
128 meg RAM (PC100)
WAN interface - Netgear FA310-TX (dc driver)
LAN/DMZ interfaces - Dual interface Intel Pro/100 (fxp driver)
0 ramblings so far

4:31 pm in