On Fri, 3 August 2007 14:41:19 +0200, Jan-Bernd Themann wrote: > > This patch provides generic Large Receive Offload (LRO) functionality > for IPv4/TCP traffic. > > LRO combines received tcp packets to a single larger tcp packet and > passes them then to the network stack in order to increase performance > (throughput). The interface supports two modes: Drivers can either pass > SKBs or fragment lists to the LRO engine.
Maybe this is a stupid question, but why is LRO done at the device driver level? If it is a unversal performance benefit, I would have expected it to be done generically, i.e. have all packets moved into network layer pass through LRO instead. > +void lro_flush_pkt(struct net_lro_mgr *lro_mgr, > + struct iphdr *iph, struct tcphdr *tcph); In particular this bit looks like it should be driven by a timeout, which would be settable via /proc/sys/net/core/lro_timeout or similar. Jörn -- Rules of Optimization: Rule 1: Don't do it. Rule 2 (for experts only): Don't do it yet. -- M.A. Jackson _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev