Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 26 Aug 2013 16:46:01 +0200
From:      Luigi Rizzo <rizzo@iet.unipi.it>
To:        Andre Oppermann <andre@freebsd.org>
Cc:        FreeBSD Net <freebsd-net@freebsd.org>, Adrian Chadd <adrian@freebsd.org>, "Alexander V. Chernikov" <melifaro@ipfw.ru>
Subject:   Re: route/arp lifetime (Re: it's the output, not ack coalescing (Re: TSO and FreeBSD vs Linux))
Message-ID:  <20130826144601.GA11595@onelab2.iet.unipi.it>
In-Reply-To: <521B65EF.1030408@freebsd.org>
References:  <20130814124024.GA64548@onelab2.iet.unipi.it> <201308141740.28779.zec@fer.hr> <20130814154853.GA66341@onelab2.iet.unipi.it> <521204A9.7080607@ipfw.ru> <52152837.9010101@freebsd.org> <5218ABB4.5070601@ipfw.ru> <CAJ-Vmon9qhnn_xJkiKZnLWEi-YAvg=FuL8FoSdToWXgy-VJ59Q@mail.gmail.com> <5218E8B6.5090407@freebsd.org> <CAJ-VmokMsSWTaKHc1EYdnZ151eH3410d-VdVduuSfn1%2B_zb2%2Bw@mail.gmail.com> <521B65EF.1030408@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130826144601.GA11595>