netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC] [PATCH] udp: Don't save dst in udpv6_sendmsg()
@ 2009-10-23 11:13 Krishna Kumar
  2009-10-24 13:40 ` David Miller
  0 siblings, 1 reply; 6+ messages in thread
From: Krishna Kumar @ 2009-10-23 11:13 UTC (permalink / raw)
  To: davem; +Cc: netdev, Krishna Kumar

From: Krishna Kumar <krkumar2@in.ibm.com>

Since ip6_datagram_connect saves the dst entry, it is not
required to do the same in every iteration of udpv6_sendmsg.
It also breaks the txq# caching, which then gets updated
every time in dev_pick_tx only to get reset again here.
Update dst only if ip6_sk_dst_lookup changed the dst entry.

Performance: I ran netperf UDPv6 RR to use connected sockets.
Tested with a 70 min run, aggregate of 5 netperf runs for
each result.

------------------------  UDPv6 RR Test  ---------------------
#procs  Org TPS     New TPS (%)       Org SD    New SD (%)
--------------------------------------------------------------
1       119031      118793 (-0.19)      82         77 (-5.23)
2       217572      218607 (0.47)      315        300 (-4.65)
4       258463      258823 (0.13)     1334       1248 (-6.44)
8       318018      319425 (0.44)     5735       5500 (-4.09)
10      395531      401529 (1.51)     9901       9507 (-3.98)
12      453319      453492 (0.03)    15473       15131 (-2.21)
--------------------------------------------------------------

Signed-off-by: Krishna Kumar <krkumar2@in.ibm.com>
---
 net/ipv6/udp.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff -ruNp org/net/ipv6/udp.c new/net/ipv6/udp.c
--- org/net/ipv6/udp.c	2009-10-19 11:58:16.000000000 +0530
+++ new/net/ipv6/udp.c	2009-10-23 10:42:35.000000000 +0530
@@ -990,7 +990,8 @@ do_append_data:
 
 	if (dst) {
 		if (connected) {
-			ip6_dst_store(sk, dst,
+			if (__sk_dst_get(sk) != dst)
+				ip6_dst_store(sk, dst,
 				      ipv6_addr_equal(&fl.fl6_dst, &np->daddr) ?
 				      &np->daddr : NULL,
 #ifdef CONFIG_IPV6_SUBTREES

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

* Re: [RFC] [PATCH] udp: Don't save dst in udpv6_sendmsg()
  2009-10-23 11:13 [RFC] [PATCH] udp: Don't save dst in udpv6_sendmsg() Krishna Kumar
@ 2009-10-24 13:40 ` David Miller
  2009-10-24 13:45   ` Krishna Kumar2
  2009-10-26 16:45   ` Rick Jones
  0 siblings, 2 replies; 6+ messages in thread
From: David Miller @ 2009-10-24 13:40 UTC (permalink / raw)
  To: krkumar2; +Cc: netdev

From: Krishna Kumar <krkumar2@in.ibm.com>
Date: Fri, 23 Oct 2009 16:43:36 +0530

> Performance: I ran netperf UDPv6 RR to use connected sockets.
> Tested with a 70 min run, aggregate of 5 netperf runs for
> each result.

Who actually uses connected UDP sockets? :-)

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

* Re: [RFC] [PATCH] udp: Don't save dst in udpv6_sendmsg()
  2009-10-24 13:40 ` David Miller
@ 2009-10-24 13:45   ` Krishna Kumar2
  2009-10-24 13:49     ` David Miller
  2009-10-26 16:45   ` Rick Jones
  1 sibling, 1 reply; 6+ messages in thread
From: Krishna Kumar2 @ 2009-10-24 13:45 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, netdev-owner

David Miller wrote on 10/24/2009 07:10:10 PM:
>
> > Performance: I ran netperf UDPv6 RR to use connected sockets.
> > Tested with a 70 min run, aggregate of 5 netperf runs for
> > each result.
>
> Who actually uses connected UDP sockets? :-)

Just something I found when running netperf RR tests, and the code is there
doing it anyway. Maybe I can drop doing this testing, but upto you.

Thanks,

- KK


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

* Re: [RFC] [PATCH] udp: Don't save dst in udpv6_sendmsg()
  2009-10-24 13:45   ` Krishna Kumar2
@ 2009-10-24 13:49     ` David Miller
  2009-10-24 14:00       ` Krishna Kumar2
  0 siblings, 1 reply; 6+ messages in thread
From: David Miller @ 2009-10-24 13:49 UTC (permalink / raw)
  To: krkumar2; +Cc: netdev, netdev-owner

From: Krishna Kumar2 <krkumar2@in.ibm.com>
Date: Sat, 24 Oct 2009 19:15:46 +0530

> David Miller wrote on 10/24/2009 07:10:10 PM:
>>
>> > Performance: I ran netperf UDPv6 RR to use connected sockets.
>> > Tested with a 70 min run, aggregate of 5 netperf runs for
>> > each result.
>>
>> Who actually uses connected UDP sockets? :-)
> 
> Just something I found when running netperf RR tests, and the code is there
> doing it anyway. Maybe I can drop doing this testing, but upto you.

Eric Dumazet or someone else made comments recently about how
nobody uses connected UDP sockets.

And if someone actually does, they can complain and we can
go back to looking into it :-)

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

* Re: [RFC] [PATCH] udp: Don't save dst in udpv6_sendmsg()
  2009-10-24 13:49     ` David Miller
@ 2009-10-24 14:00       ` Krishna Kumar2
  0 siblings, 0 replies; 6+ messages in thread
From: Krishna Kumar2 @ 2009-10-24 14:00 UTC (permalink / raw)
  To: David Miller; +Cc: netdev

David Miller <davem@davemloft.net> wrote on 10/24/2009 07:19:15 PM:

>
> >> Who actually uses connected UDP sockets? :-)
> >
> > Just something I found when running netperf RR tests, and the code is
there
> > doing it anyway. Maybe I can drop doing this testing, but upto you.
>
> Eric Dumazet or someone else made comments recently about how
> nobody uses connected UDP sockets.
>
> And if someone actually does, they can complain and we can
> go back to looking into it :-)

Agreed. Please drop it.

Thanks,

- KK


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

* Re: [RFC] [PATCH] udp: Don't save dst in udpv6_sendmsg()
  2009-10-24 13:40 ` David Miller
  2009-10-24 13:45   ` Krishna Kumar2
@ 2009-10-26 16:45   ` Rick Jones
  1 sibling, 0 replies; 6+ messages in thread
From: Rick Jones @ 2009-10-26 16:45 UTC (permalink / raw)
  To: David Miller; +Cc: krkumar2, netdev

David Miller wrote:
> From: Krishna Kumar <krkumar2@in.ibm.com>
> Date: Fri, 23 Oct 2009 16:43:36 +0530
> 
> 
>>Performance: I ran netperf UDPv6 RR to use connected sockets.
>>Tested with a 70 min run, aggregate of 5 netperf runs for
>>each result.
> 
> 
> Who actually uses connected UDP sockets? :-)

Somebody must, they sent me patches to optionally connect() the endpoints in a 
UDP_RR test :)

rick jones

trying to decide if he should by default set SO_DONTROUTE on UDP sockets to 
cover the backsides of testers who cause link-down events on devices under test 
with systems connected to their employer's site lans with the default route 
pointing at same...

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

end of thread, other threads:[~2009-10-26 16:45 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-10-23 11:13 [RFC] [PATCH] udp: Don't save dst in udpv6_sendmsg() Krishna Kumar
2009-10-24 13:40 ` David Miller
2009-10-24 13:45   ` Krishna Kumar2
2009-10-24 13:49     ` David Miller
2009-10-24 14:00       ` Krishna Kumar2
2009-10-26 16:45   ` Rick Jones

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).