[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20120618.211539.105938285016510975.davem@davemloft.net>
Date: Mon, 18 Jun 2012 21:15:39 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: eric.dumazet@...il.com
Cc: netdev@...r.kernel.org
Subject: Re: [PATCH] ipv4: Early TCP socket demux.
From: Eric Dumazet <eric.dumazet@...il.com>
Date: Tue, 19 Jun 2012 06:07:26 +0200
> On Mon, 2012-06-18 at 19:40 -0700, David Miller wrote:
>> You know you want it.
>>
>> Signed-off-by: David S. Miller <davem@...emloft.net>
>
> Yeah, very good idea David ;)
>
> needs some polishing of course.
Such as? IPv6 support?
> This reminds the idea of having seperate dst per tcp socket, to remove
> the dst refcnt contention as well.
I'm leery of this.
We're going to move towards having dst entries more strongly shared
as we move to remove the routing cache.
In fact I have another short-term change planned that adjusts which
keys the routing cache uses based upon what kinds of keys are actually
active in the current FIB rule configuration.
I think we want to encourage sharing and make the route footprint
smaller rather than expanding it's size artificually on even the
socket level.
If you really care about this refcount problem, then it's another
reason to never orphan socket sourced packets. Then we wouldn't need
to ever refcount the route just to send a packet, we'd just use the
implicit reference held by the socket instead. Socket route releasing
would be held back by the presence of any packets in the socket send
queue. If we have to reset the dst mis-lifetime due to route flushes,
we'd need to use a specific packet as a sequence point.
That to me sounds like a more reasonable approach than just making
more and more routes.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists