Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1762117AbXHCNpy (ORCPT ); Fri, 3 Aug 2007 09:45:54 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1761281AbXHCNpr (ORCPT ); Fri, 3 Aug 2007 09:45:47 -0400 Received: from lazybastard.de ([212.112.238.170]:36604 "EHLO longford.lazybastard.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1761006AbXHCNpq (ORCPT ); Fri, 3 Aug 2007 09:45:46 -0400 Date: Fri, 3 Aug 2007 15:41:50 +0200 From: =?utf-8?B?SsO2cm4=?= Engel To: Jan-Bernd Themann Cc: David Miller , Christoph Raisch , Jan-Bernd Themann , linux-kernel , linux-ppc , Marcus Eder , Thomas Klein , netdev , Andrew Gallatin , Jeff Garzik , Stefan Roscher Subject: Re: [PATCH 1/1] lro: Generic Large Receive Offload for TCP traffic Message-ID: <20070803134150.GH19344@lazybastard.org> References: <200708031441.20632.ossthema@de.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <200708031441.20632.ossthema@de.ibm.com> User-Agent: Mutt/1.5.9i Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1275 Lines: 35 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 linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/