route/arp lifetime (Re: it's the output, not ack coalescing (Re: TSO and FreeBSD vs Linux))

Luigi Rizzo rizzo at iet.unipi.it
Mon Aug 26 14:41:09 UTC 2013


On Mon, Aug 26, 2013 at 04:27:59PM +0200, Andre Oppermann wrote:
...
> 
> 1. lle lock to rmlock.
> 
> 2. if_addr and IN_ADDR locks to rmlocks.
> 
> 3. routing table locking (rmlocks, and by doing away with rtentry locks and refcounting
>     through copy-out on lookup and prohibition of having any pointers into the rtable).

re. the last item, the problem is that we need to access *ifp
after the route lookup, and this cannot be solved with a copy-on-lookup
(I guess at the moment the rte has a refcounted pointer to the ifp).

This is why i argued that it might be useful to cache into the socket a
refcounted pointer into the ifp (or rte) and update it lazily
(periodically or through generation counters).

cheers
luigi


More information about the freebsd-net mailing list