[ofa-general] Re: Can Mellanox cards handle scatter gather I/O?
Ralph Campbell
ralph.campbell at qlogic.com
Wed Aug 15 09:38:32 PDT 2007
On Wed, 2007-08-15 at 09:05 +0300, Michael S. Tsirkin wrote:
> > Quoting Kent Baxley <kbaxley at redhat.com>:
> > Subject: Can Mellanox cards handle scatter gather I/O?
> >
> >
> > Evidently, we're seeing performance problems when a card on one side
> > is capable of scatter gather IO but the mellanox driver is not able to
> > handle it. Then a whole lot of time is spent gathering the data into
> > one skbuff.
>
> I guess you are speaking about a router configuration where
> you stick 2 network cards in the same machine - right?
>
> > This is currently being observed on RHEL4.5 with OFED 1.2.
> >
> > Is the Mellanox card capable of doing scatter gather IO and this just
> > a driver limitation or is the mellanox card just not able to do scatter
> > gather IO?
>
> AFAIK all Mellanox cards are capable of s/g IO in hardware.
>
> However, speaking of IPoIB, the code in
> net/core/dev.c below would just remove NETIF_F_SG immediately:
>
> if ((dev->features & NETIF_F_SG) &&
> !(dev->features & NETIF_F_ALL_CSUM)) {
> printk(KERN_NOTICE "%s: Dropping NETIF_F_SG since no checksum feature.\n",
> dev->name);
> dev->features &= ~NETIF_F_SG;
> }
>
> we can work around this code in OFED, but I think it would
> make sense to first have a discussion on netdev and lkml list about why is
> this code there in the first place.
I believe earlier Linux kernels forced HW checksum off unless the device
also supported scatter/gather. Recent kernels have changed the code
so that the two features can be separately turned on/off.
More information about the general
mailing list