On 4/5/06, Ben Greear <[EMAIL PROTECTED]> wrote:
> Andrew Gallatin wrote:
> > I'm working on a driver for a 10GbE nic.  I've just gotten to the point 
> > where I
> > am verifying that 802.1q vlans work without hardware vlan offload.  It
> > seems like
> > the netdev features flags (NETIF_F_SG|NETIF_F_IP_CSUM|NETIF_F_TSO) are not
> > being inherited by the vlan device.   This leads to very high CPU 
> > utilization,
> > especially  when running applications which use sendfile, since it forces 
> > data
> > copies.
> >
> > I have verified this is the problem by printing the vlan device's features 
> > from
> > the end of register_vlan_device().  If copy real_dev's features to new_dev,
> > then the performance problems disappear.
>
> This seems logical to me.  We might need some dynamic logic to deal
> with vlans on top of bridge devices (I believe bridges adjust *their*
> capabilities dynamically as devices are added to and removed from the bridge.)

So you are sayiing that you'd be willing to copy real_dev's
features flags when creating a vlan?  Great!  Unfortunately,
I know nothing about bridges.  How would this dynamic logic
work?

We would  also need to catch ethtool updates to
real_dev's features flags, so that ethtook -K would work as expected
on vlan devices.   Or perhaps the dynamic logic to deal with
vlans on top of bridges would be able to deal with it.

> > This is especially confusing, since it appears ethtool's -K/-k commands
> > fall through to the real device.  So it appears like the ethX.VLAN dev
> > has scatter-gather and checksum offload enabled, when actually it
> > does not.
> >
> > Am I hitting a weird corner case in having a device which does
> > checksum/sg/tso and not vlan offload? Will this magically go away if I
> > implement some vlan hardware assist feature?
>
> I doubt that will matter, but it's possible.  DaveM and others know more about
> the hardware assist path that I do...

Yes,  I think you are correct, and it should not matter.  i was just grasping
at straws.

Thank you,

Drew
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to