From: Patrick McHardy <kaber@trash.net>
To: "Kok, Auke" <auke-jan.h.kok@intel.com>
Cc: jeff@garzik.org, netdev@vger.kernel.org,
e1000-devel@lists.sourceforge.net, "Waskiewicz Jr,
Peter P" <peter.p.waskiewicz.jr@intel.com>
Subject: Re: [PATCH 3/5] e1000e: Allow TSO to trickle down to VLAN device
Date: Mon, 21 Apr 2008 16:24:25 +0200 [thread overview]
Message-ID: <480CA399.50708@trash.net> (raw)
In-Reply-To: <4807C516.90308@intel.com>
Kok, Auke wrote:
> Patrick McHardy wrote:
>> Auke Kok wrote:
>>> Fix TSO over VLAN's by propagating settings to our VLAN devices.
>>>
>> What exactly is this supposed to fix? If this simply wants
>> to propagate feature changes, I think it should use
>> netdev_feat_change and handle that within the VLAN code.
>
> I asked PJ and got this reply:
>
> //
> VLAN devices didn't get the parent's feature flags on creation. I went
> to fix this in the kernel, people pushed back that some devices couldn't
> support both VLAN tag insertion offload and TSO, so I didn't push the
> issue. I worked around the issue by copying the flags in the driver.
> The downside is when we turn off TSO using ethtool, we need to remove
> TSO from all VLAN devices, since the hardware segmenter is no longer
> available if the parent device doesn't have it enabled as a feature. We
> were seeing stack-based panics with gso_segment(), which was corrected
> by removing the TSO flag from all VLAN devices.
>
> I can't seem to find netdev_feat_change anywhere in the kernel, or
> variants of that name, so I'm not sure what Patrick is pointing us at.
>
> -PJ
> //
That was a typo, I meant netdev_features_change(), which is invoked
by dev_ethtool() and calls the netdev notifier with NETDEV_FEAT_CHANGE,
on which the VLAN code could react. I wasn't aware of the TSO + VLAN
acceleration problems you've mentioned, do you have a pointer to more
information about this?
In any case I would prefer to avoid having drivers mess with VLAN
device flags. How about adding a device flag indicating that the
driver supports TSO + VLAN acceleration and using the
NETDEV_FEAT_CHANGE notification inside the VLAN code do adjust
the device's flags properly?
next prev parent reply other threads:[~2008-04-21 14:24 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-14 17:05 [PATCH 1/5] e1000e: cleanup several stats issues Auke Kok
2008-04-14 17:06 ` [PATCH 2/5] e1000e: Add interrupt moderation run-time ethtool interface Auke Kok
2008-04-14 19:24 ` Andi Kleen
2008-04-14 19:31 ` Rick Jones
2008-04-14 19:35 ` Jeff Garzik
2008-04-14 19:53 ` Andi Kleen
2008-04-14 20:09 ` Kok, Auke
2008-04-14 17:06 ` [PATCH 3/5] e1000e: Allow TSO to trickle down to VLAN device Auke Kok
2008-04-14 17:11 ` Patrick McHardy
2008-04-17 21:45 ` Kok, Auke
2008-04-21 14:24 ` Patrick McHardy [this message]
2008-04-22 7:46 ` Waskiewicz Jr, Peter P
2008-04-30 0:42 ` Waskiewicz Jr, Peter P
2008-04-30 6:54 ` Patrick McHardy
2008-04-30 6:56 ` Patrick McHardy
2008-04-14 17:06 ` [PATCH 4/5] e1000e: Fix HW Error on es2lan, ARP capture issue by BMC Auke Kok
2008-04-14 17:06 ` [PATCH 5/5] e1000e: lower ring minimum size to 64 Auke Kok
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=480CA399.50708@trash.net \
--to=kaber@trash.net \
--cc=auke-jan.h.kok@intel.com \
--cc=e1000-devel@lists.sourceforge.net \
--cc=jeff@garzik.org \
--cc=netdev@vger.kernel.org \
--cc=peter.p.waskiewicz.jr@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).