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

Reply via email to