> + priv->dev->features |= NETIF_F_HIGHDMA | NETIF_F_SG;
Does this accomplish anything? I would think 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;
}
so is there any point to this change?
> - .max_send_sge = 1,
> + .max_send_sge = MAX_SKB_FRAGS + 1,
this makes WQEs much bigger -- do we want to do this for all devices?
Or is it going to hurt on something like Tavor, which doesn't do
checksum offload and hence can't take advantage of scatter/gather
anyway?
> --- linux-2.6.23-rc1.orig/drivers/infiniband/ulp/ipoib/ipoib_cm.c
> 2007-08-02 11:44:43.000000000 +0300
> +++ linux-2.6.23-rc1/drivers/infiniband/ulp/ipoib/ipoib_cm.c 2007-08-02
> 14:31:02.000000000 +0300
> @@ -495,8 +495,8 @@ static inline int post_send(struct ipoib
> {
> struct ib_send_wr *bad_wr;
>
> - priv->tx_sge.addr = addr;
> - priv->tx_sge.length = len;
> + priv->tx_sge[0].addr = addr;
> + priv->tx_sge[0].length = len;
Can't connected mode destinations get multi-fragment skbs to send too?
In fact it's much more likely given the bigger MTU, although given
that we don't have checksum offload for RC sends, we might not be able
to enable scatter/gather and CM at the same time.
- R.
_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general
To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general