From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dimitris Michailidis Subject: Re: Misuse of LRO, how widespread Date: Mon, 06 Dec 2010 15:36:38 -0800 Message-ID: <4CFD7386.5030906@chelsio.com> References: <20101206121829.5b8c852e@nehalam> <4CFD527E.7000706@chelsio.com> <20101206142715.0d296b25@nehalam> <4CFD6C2B.9020201@chelsio.com> <1291677755.5405.29.camel@bwh-desktop> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: Stephen Hemminger , David Miller , Olof Johansson , Divy Le Ray , netdev@vger.kernel.org To: Ben Hutchings Return-path: Received: from stargate.chelsio.com ([67.207.112.58]:27195 "EHLO stargate.chelsio.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752347Ab0LFXgq (ORCPT ); Mon, 6 Dec 2010 18:36:46 -0500 In-Reply-To: <1291677755.5405.29.camel@bwh-desktop> Sender: netdev-owner@vger.kernel.org List-ID: Ben Hutchings wrote: > On Mon, 2010-12-06 at 15:05 -0800, Dimitris Michailidis wrote: >> Stephen Hemminger wrote: >>> On Mon, 06 Dec 2010 13:15:42 -0800 >>> Dimitris Michailidis wrote: >>> >>>> Stephen Hemminger wrote: >>>>> I inspected all drivers in net-next to see which drivers are using >>>>> LRO and which ones are broken. Most concerning is that Chelsio >>>>> and Solarflare drivers ignore ETH_FLAG_LRO. >>>>> >>>>> The ones that are using LRO but allow disabling it: >>>>> qlcnic, netxen, mv643, s2io, myi10ge, bnx2x, ixgbe, vmxnet3 >>>>> >>>>> One driver seems confused about LRO vs GRO: >>>>> mlx4 - comments about LRO and depends on LRO but driver is using GRO >>>>> >>>>> Drivers with not using ethtool interface to disable LRO: >>>>> pasemi_mac, sfc, ehea, cxgb3, cxgb4 >>>> cxgb4 uses GRO, not LRO. >>> Ok. but cxgb3 still uses LRO (or it least calls it lro). >>> >> cxgb3 was the driver Herbert implemented GRO on I think, and he converted it >> to GRO. It possibly has leftover LRO references as it was using LRO before. > > There's a fair amount of code setting LRO flags in various structures, > so either the driver still enables LRO in hardware/firmware or this is > dead code. From a quick look it appears to have a per queue lro flag. HW/FW are not aware of LRO, whatever flags that driver has are for SW. I'd say it's obsolete but probably not dead code. > > Ben. >