Re: RFC: MTU for serving NFS on Infiniband

From: Eric Dumazet
Date: Wed Aug 25 2010 - 08:17:54 EST


Le mercredi 25 aoÃt 2010 Ã 16:10 +0400, Alexey Kuznetsov a Ãcrit :
> Hello!
>
> > It is, but ip_append_data() is allocating a huge head if MTU is huge.
>
> Hmm, strange, as I remember, it was supposed to work right.
>
> If the device supports SG (which is required to accept non-linear skbs anyway),
> then ip_append_* should allocate skbs not rounded up to mtu and we should
> allocate small skb with NFS header only. Does not it work?
>
> I can only guess one possible trap: people could do _one_ huge ip_append_data()
> (instead of "planned" scenario, when the header is sent with ip_append_data()
> and the following payload is appended with ip_append_page()). Huge ip_append_data()
> will generate huge skb indeed. Is this the problem?
>
>
> BTW this issue could be revisited and this "will generate huge" can be reconsidered.
> Automatic generation of fragmented skbs was deliberately suppressed, because it was
> found that all devices existing at the moment when this code was written
> are strongly biased against SG. Current code tries to _avoid_ generating
> non-linear skbs, unless it is intended for zero-copy, which compensated
> bias against SG. Modern hardware should work better.
>
> Alexey

Hi Alexey,

Few hours ago, I privately asked to Marc Aurele if its infiniband device
was supporting NETIF_F_SG in its features ;)

Thanks !


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/