From: Evgeniy Polyakov <[EMAIL PROTECTED]> Date: Thu, 11 May 2006 20:18:15 +0400
> Here is profile result: > 1463625 78.0003 poll_idle > 19171 1.0217 _spin_lock_irqsave > 15887 0.8467 _read_lock > 14712 0.7840 kfree > 13370 0.7125 ip_frag_queue > 11896 0.6340 delay_pmtmr > 11811 0.6294 _spin_lock > 11723 0.6247 csum_partial > 11399 0.6075 ip_frag_destroy > 11063 0.5896 serial_in > 10533 0.5613 skb_release_data > 10524 0.5609 ip_route_input > 10319 0.5499 __alloc_skb Too bad spinlocks are not inlined any longer, this makes oprofile output so much less useful. Also, since you test UDP with >MTU sized sends, you add fragmentation into the mix, yet another variable that you won't see with TCP :-) BTW you make another massively critical error in your analysis of TCP profiles. You mention that "tcp_v4_rcv()" shows up in your profiles and not __inet_lookup(). This __inet_lookup() is inlined, and thus it's cost shows up as "tcp_v4_rcv()". I find such oversight amazing for someone as careful about details as you are :-) I would suggest to look at instruction level profile hits, it makes such mistakes in analysis almost impossible :-) - 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