[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070803134150.GH19344@lazybastard.org>
Date: Fri, 3 Aug 2007 15:41:50 +0200
From: Jörn Engel <joern@...fs.org>
To: Jan-Bernd Themann <ossthema@...ibm.com>
Cc: David Miller <davem@...emloft.net>,
Christoph Raisch <raisch@...ibm.com>,
Jan-Bernd Themann <themann@...ibm.com>,
linux-kernel <linux-kernel@...r.kernel.org>,
linux-ppc <linuxppc-dev@...abs.org>,
Marcus Eder <meder@...ibm.com>,
Thomas Klein <tklein@...ibm.com>,
netdev <netdev@...r.kernel.org>,
Andrew Gallatin <gallatin@...i.com>,
Jeff Garzik <jeff@...zik.org>,
Stefan Roscher <stefan.roscher@...ibm.com>
Subject: Re: [PATCH 1/1] lro: Generic Large Receive Offload for TCP traffic
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
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists