All of lore.kernel.org
 help / color / mirror / Atom feed
* Inconsistent perf top output
@ 2014-04-02 14:31 "Oleg A. Arkhangelsky"
  2014-04-07  4:10 ` Andi Kleen
  0 siblings, 1 reply; 2+ messages in thread
From: "Oleg A. Arkhangelsky" @ 2014-04-02 14:31 UTC (permalink / raw)
  To: linux-perf-users

Hello,

I'm profiling Linux IP packet forwarding performance. In common case I see this
functions eating most of CPU cycles.

13735.00 22.5% build_skb  
5138.00   8.4% ipt_do_table 
4750.00   7.8% fib_table_lookup
3519.00   5.8% ixgbe_clean_rx_irq
2836.00   4.6% nf_iterate
1530.00   2.5% dev_queue_xmit

Looks good. But accidentally I run tcpdump program on one of the NICs related
to my test. After killing tcpdump I see that top is different:

6362.00 10.3% fib_table_lookup
6227.00 10.1% ipt_do_table
4300.00  7.0% ixgbe_clean_rx_irq
3771.00  6.1% nf_iterate
3284.00  5.3% build_skb
2179.00  3.5% ixgbe_xmit_frame_ring

Dramatic change in build_skb() cpu cycles. But tcpdump is not active anymore.
More than this, if I stop pktgen on traffic generator PC for a few seconds and
start it again without any other changes, I see that build_skb() is top offender
again. Running tcpdump again and killing it move fib_table_lookup() or
ipt_do_table() (they are pretty same in cpu cycles) to the top. So this behavior
is reproducible.

I just have no sane explanation to such strange behavior. Maybe someone have?

Thank you!

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Inconsistent perf top output
  2014-04-02 14:31 Inconsistent perf top output "Oleg A. Arkhangelsky"
@ 2014-04-07  4:10 ` Andi Kleen
  0 siblings, 0 replies; 2+ messages in thread
From: Andi Kleen @ 2014-04-07  4:10 UTC (permalink / raw)
  To: "Oleg A. Arkhangelsky"; +Cc: linux-perf-users, netdev

"\"Oleg A. Arkhangelsky\"" <sysoleg@yandex.ru> writes:

Better asked on netdev. Copied here. It's unlikely to be a perf problem.
You better specify what kernel version you have.

> Hello,
>
> I'm profiling Linux IP packet forwarding performance. In common case I see this
> functions eating most of CPU cycles.
>
> 13735.00 22.5% build_skb  
> 5138.00   8.4% ipt_do_table 
> 4750.00   7.8% fib_table_lookup
> 3519.00   5.8% ixgbe_clean_rx_irq
> 2836.00   4.6% nf_iterate
> 1530.00   2.5% dev_queue_xmit
>
> Looks good. But accidentally I run tcpdump program on one of the NICs related
> to my test. After killing tcpdump I see that top is different:
>
> 6362.00 10.3% fib_table_lookup
> 6227.00 10.1% ipt_do_table
> 4300.00  7.0% ixgbe_clean_rx_irq
> 3771.00  6.1% nf_iterate
> 3284.00  5.3% build_skb
> 2179.00  3.5% ixgbe_xmit_frame_ring
>
> Dramatic change in build_skb() cpu cycles. But tcpdump is not active anymore.
> More than this, if I stop pktgen on traffic generator PC for a few seconds and
> start it again without any other changes, I see that build_skb() is top offender
> again. Running tcpdump again and killing it move fib_table_lookup() or
> ipt_do_table() (they are pretty same in cpu cycles) to the top. So this behavior
> is reproducible.
>
> I just have no sane explanation to such strange behavior. Maybe someone have?
>
> Thank you!

-- 
ak@linux.intel.com -- Speaking for myself only

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-04-07  4:10 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-04-02 14:31 Inconsistent perf top output "Oleg A. Arkhangelsky"
2014-04-07  4:10 ` Andi Kleen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.