From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Gallatin Subject: Re: [PATCH] myr10ge: again fix lro_gen_skb() alignment Date: Wed, 15 Apr 2009 09:01:47 -0400 Message-ID: <49E5DABB.9070806@myri.com> References: <20090415100937.4b08ce28@dhcp-lab-109.englab.brq.redhat.com> <20090415.022809.90182032.davem@davemloft.net> <49E5AD56.6020701@myri.com> <20090415.030213.249634462.davem@davemloft.net> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: brice@myri.com, sgruszka@redhat.com, netdev@vger.kernel.org To: David Miller Return-path: Received: from mailbox2.myri.com ([64.172.73.26]:1824 "EHLO myri.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752059AbZDON3x (ORCPT ); Wed, 15 Apr 2009 09:29:53 -0400 In-Reply-To: <20090415.030213.249634462.davem@davemloft.net> Sender: netdev-owner@vger.kernel.org List-ID: David Miller wrote: > From: Brice Goglin >> Is there a good summary somewhere of why GRO is better, > > Transparent forwarding/bridging support, easier driver port. > >> and how to >> actually convert drivers? > > Step 1: Remove all of your LRO support code, every last line > Step 2: netif_receive_skb() --> napi_gro_receive() > vlan_hwaccel_rx() --> vlan_gro_receive() > > It couldn't be any easier. > > And it would also behoove you to look at the commits that converted or > added GRO support to other drivers. That's how I learned it :-) Unfortunately, it doesn't appear that GRO is able to handle frags (like lro_receive_frags()), so I anticipate its overhead would be much higher than LRO for us, due to extra memory allocation and freeing overheads. I'll try to find the time to convert the driver and run some quick tests to confirm. However, since LRO is optional, it would make sense to convert the non-LRO code path at the very least. Drew