Date: Wed, 14 Aug 2013 15:47:13 +0400 From: Lev Serebryakov <lev@FreeBSD.org> To: Luigi Rizzo <rizzo@iet.unipi.it> Cc: Lawrence Stewart <lstewart@freebsd.org>, FreeBSD Net <net@freebsd.org> Subject: Re: it's the output, not ack coalescing (Re: TSO and FreeBSD vs Linux) Message-ID: <587579055.20130814154713@serebryakov.spb.ru> In-Reply-To: <20130814102109.GA63246@onelab2.iet.unipi.it> References: <520A6D07.5080106@freebsd.org> <520AFBE8.1090109@freebsd.org> <520B24A0.4000706@freebsd.org> <520B3056.1000804@freebsd.org> <20130814102109.GA63246@onelab2.iet.unipi.it>
next in thread | previous in thread | raw e-mail | index | archive | help
Hello, Luigi. You wrote 14 =D0=B0=D0=B2=D0=B3=D1=83=D1=81=D1=82=D0=B0 2013 =D0=B3., 14:21= :09: LR> Then the problem remains that we should keep a copy of route and LR> arp information in the socket instead of redoing the lookups on LR> every single transmission, as they consume some 25% of the time of LR> a sendto(), and probably even more when it comes to large tcp LR> segments, sendfile() and the like. And we should invalidate this info on ARP/route changes, or connection will be lost in such cases, am I right?.. So, on each such event code should look into all sockets and check, if routing/ARP information is still valid for them. Or we should store lists of sockets in routing and ARP tables... I don't know, what is worse. --=20 // Black Lion AKA Lev Serebryakov <lev@FreeBSD.org>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?587579055.20130814154713>