On 23 Sep 2017, at 23:46, Stephen Hurd wrote:
Bjoern A. Zeeb wrote:
On 23 Sep 2017, at 6:32, Stephen Hurd wrote:
Bjoern A. Zeeb wrote:
On 23 Sep 2017, at 1:35, Stephen Hurd wrote:
Author: shurd
Date: Sat Sep 23 01:35:14 2017
New Revision: 323942
URL: https://svnweb.freebsd.org/changeset/base/323942
Log:
Chain mbufs before passing to if_input()
Build a list of mbufs to pass to if_input() after LRO. Results
in
12% small packet forwarding rate improvement.
forwarding seems a confusing word here..
The test was small (64 byte frames) received on one interface, then
sent out on a different one using the net.inet.ip.forwarding sysctl
(controlled via the gateway_enable setting in rc.conf).
Then this makes no sense as we don’t do LRO if forwarding is
enabled on the machine;
https://svnweb.freebsd.org/base/head/sys/netinet/tcp_lro.c?annotate=317390#l645
Basically, it changed from this:
..
To this:
…
So while before it called if_input() for each separate mbuf that was
not LROed, it now builds a chain of mbufs that were not LROed, and
makes a single call to if_input() with the whole chain. For cases
like packet forwarding where no packets are LROed, performance is
better.
Got it, so the “after LRO” in the original commit message is as
confusing as forwarding.
I not saying anything against the change, I am just saying the commit
message doesn’t describe what it does.
Also I am pretty sure this works with ether_input but not so much with
fddi_input, iso88025_input, and ifdead_input is probably going to leak
as well.
/bz
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"