[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20100915232125.4430a421@nehalam>
Date: Wed, 15 Sep 2010 23:21:25 -0700
From: Stephen Hemminger <shemminger@...tta.com>
To: David Miller <davem@...emloft.net>
Cc: eric.dumazet@...il.com, bphilips@...e.de,
e1000-devel@...ts.sourceforge.net, bruce.w.allan@...el.com,
jesse.brandeburg@...el.com, john.ronciak@...el.com,
jeffrey.t.kirsher@...el.com, netdev@...r.kernel.org,
bhutchings@...arflare.com
Subject: Re: [E1000-devel] [PATCH] net: enable GRO by default for vlan
devices
On Wed, 15 Sep 2010 22:51:46 -0700 (PDT)
David Miller <davem@...emloft.net> wrote:
> From: Stephen Hemminger <shemminger@...tta.com>
> Date: Wed, 15 Sep 2010 18:16:16 -0700
>
> > On Thu, 16 Sep 2010 00:28:11 +0200
> > Eric Dumazet <eric.dumazet@...il.com> wrote:
> >
> >> BTW, we have a similar problem for bonding ( GRO is disabled )
> >>
> >> # ethtool -K bond0 gro off
> >> # ethtool -K bond0 gro on
> >> Cannot set device GRO settings: Invalid argument
> >>
> >> Same for vlans on top of bond0
> >
> > Bridge has same problem as well.
>
> Looking this over it should be a simple matter of:
>
> 1) Adding the generic get/set gro ethtool ops to bonding
> and bridge device ops.
>
> 2) Set NETIF_F_GRO in bond/bridge device flags
>
> 3) Maybe some minor fiddling with netdev_increment_features
> and the flag macros it uses?
>
> Patches welcome :-)
I think it is more complex than that. GRO is tied to NAPI,
and bridge/bond don't use NAPI directly. They use netif_rx() for receiving
because layered drivers can't directly up call because of possible
issues with stack depth.
To get GRO working for netif_rx case,
the logic in process_backlog would have to change.
But this queue is processing packets from multiple devices so
it is not clear if GRO could be used.
--
--
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