Re: UDP performance questions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>>>>> Andi Kleen <ak@suse.de> writes:

> It probably would not make much difference to turn them on -- 2.4
> should do all udp csum computation in parallel to copies and during
> that they're mostly free.

It makes a small difference, maybe 1 or 2%.

>>   6.15% udp_recvmsg              # !?
> This one is really a mystery. Could you set the profile table shift 
> to 1 and try to narrow it to some instruction or run it under oprofile
> and check for cache misses etc.? 

With shift 1 I get the pretty similar profile below.  I'm playing with
oprofile now.

>>   4.45% udp_rcv                  # no "most recent socket" cache
> It used to have one, but it was removed for some reason I cannot remember.

I think my application would probably hit it around 1/3 the time (I'll
have just a few sockets per host, and frequently one will be
"dominant", trafficwise).  Whether or not it's useful in the general
case, I dunno.  The paper "A Faster UDP" suggests that it is, but how
the general case of a random academic Sun in 1993 compares to today's
Linux boxen is unclear.

>>   3.97% ip_route_output_key      # could cache route for unconnected sockets
> It is probably more cache line bouncing, where the cache wouldn't help.

In my case almost everything is to the local ethernet.  So hanging
onto the route should be good, since it'll usually apply to the next
packet out that socket.  Maybe I'll play with it someday.


With shift 1:

  6.41% udp_recvmsg
  5.78% ip_build_xmit
  4.82% udp_rcv
  4.72% __generic_copy_to_user
  4.23% udp_queue_rcv_skb
  4.20% ip_route_output_key
  4.13% ip_rcv
  3.80% udp_sendmsg
  3.47% sock_alloc_send_skb
  3.28% dev_queue_xmit
  3.10% __generic_copy_from_user
  2.94% net_rx_action
  2.87% skb_release_data
  2.49% ip_output
  2.48% __kfree_skb
  2.25% sock_def_write_space
  2.21% do_gettimeofday
  2.12% system_call
  2.06% sock_def_readable
  1.80% skb_copy_datagram_iovec
  1.69% kmalloc
  1.62% skb_recv_datagram
  1.49% fget
  1.39% loopback_xmit
  1.25% netif_rx
  1.25% kfree
  1.24% sys_recvmsg
  1.21% udp_v4_lookup_longway
  1.11% verify_iovec
  1.00% rmqueue
  0.96% sys_sendmsg

--
Grant Taylor - x285 - http://pasta/~gtaylor/
Starent Networks - +1.978.851.1185
-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux