fascinating stuff. On Apr 5, 2013 6:06 PM, "Richard Fuchs" rfuchs@sipwise.com wrote:
On 04/05/13 03:53, Daniel-Constantin Mierla wrote:
She fallback to user space can happen even during a call? Or is just about when the call is initialized, the application detects is some problem when setting up forwarding rules in the kernel and goes for user space.
It can happen any time. The socket remains open and the daemon continues to listen for packets on it. If the daemon receives a packet, it will process it, which in the normal case will result in it being forwarded. With the kernel module active and working, the daemon will simply not see the packets coming in on the socket.
Indeed, this is kind of general feeling, at least based on theoretical aspects, but I haven't seen any kind of numbers just to compare and see how much is worth to go for kernel forwarding.
I did a very simple test, one pseudo-call (one port in, one port out) with about 35,000 UDP packets per second going each way. Each packet had 150 bytes payload and the test was done on an 8-core Xeon 2.53 GHz machine running kernel 2.6.32. Under this workload, the daemon registers with about 90% single-CPU load without kernel forwarding. The daemon is multi-threaded and so can use multiple cores, but if it weren't, then it would be about maxed out at this point. Averaged over the 8 cores this leaves the system around 88% idle. With kernel forwarding enabled, system CPU usage drops to >99% idle.
cheers
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users