Date: Mon, 19 Aug 2013 15:42:33 +0400 From: "Alexander V. Chernikov" <melifaro@ipfw.ru> To: Luigi Rizzo <rizzo@iet.unipi.it> Cc: freebsd-net@freebsd.org, Lev Serebryakov <lev@freebsd.org>, FreeBSD Net <net@freebsd.org>, Marko Zec <zec@fer.hr>, Lawrence Stewart <lstewart@freebsd.org> Subject: Re: route/arp lifetime (Re: it's the output, not ack coalescing (Re: TSO and FreeBSD vs Linux)) Message-ID: <521204A9.7080607@ipfw.ru> In-Reply-To: <20130814154853.GA66341@onelab2.iet.unipi.it> References: <520A6D07.5080106@freebsd.org> <520B74DD.1060102@ipfw.ru> <20130814124024.GA64548@onelab2.iet.unipi.it> <201308141740.28779.zec@fer.hr> <20130814154853.GA66341@onelab2.iet.unipi.it>
next in thread | previous in thread | raw e-mail | index | archive | help
On 14.08.2013 19:48, Luigi Rizzo wrote: > On Wed, Aug 14, 2013 at 05:40:28PM +0200, Marko Zec wrote: >> On Wednesday 14 August 2013 14:40:24 Luigi Rizzo wrote: >>> On Wed, Aug 14, 2013 at 04:15:25PM +0400, Alexander V. Chernikov wrote: > ... >> FWIW, apparently we already have that infrastrucure in place - if_rele() >> calls if_free_internal() only when the last reference to the ifnet is >> dropped, so with little care this should be usable for caching ifp pointers >> w/o fears for kernel crashes mentioned above. > maybe Alexander was referring to holding references to the rte entries > returned as a result of the lookup. The rte holds a reference to the ifp. Yes. Since there is the only refcount which is protected (and is also a huge performance killer). Btw, there is a picture describing IPv4 packet flow from my still-not-written post related network stack performance, maybe it can be useful: http://static.ipfw.ru/images/freebsd_ipv4_flow.png > > cheers > luigi >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?521204A9.7080607>