On Thu, May 11, 2006 at 12:07:21AM -0700, David S. Miller ([EMAIL PROTECTED]) wrote: > You can test with single stream, but then you are only testing > in-cache case. Try several thousand sockets and real load from many > unique source systems, it becomes interesting then.
Route lookup is _additional_ cost for the system, but, as far as I understand, netchannels are supposed to help with data processing, not with destination point selection. It must have route lookups, socket(netchannel) lookups, they just will be in other place. I can test system with large number of streams, but unfortunately only from small number of different src/dst ip addresses, so I can not benchmark route lookup performance in layered design. > From profiles of heavily used web server, what shows up is bulk of cpu > being in socket demux and tcp_ack(). Next bubble is routing cache. > I have not seen good profiles from a heavy web server employing any > real use of netfilter, that would be interesting as well. I have several oprofiles of static test web server which does 2.5k requests/sec with about 3000 sockets created/removed per second. All connections are very tiny. Machines are in LAN, so no heavy route lookups, but socket lookup is quite heavy. The most heavyweight network function is tcp_v4_rcv() (number 15), next one is __alloc_skb() (25'th place), __kfree_skb() (35'th place). netif_receive_skb() at 63, ip_rcv() - 80'th place. tcp_ack() at 99. No *inet_lookup at all. I do understand that it is synthetic benchmark, but it is not so rare usage case. -- Evgeniy Polyakov - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html