On Thu, Oct 13, 2016 at 7:26 PM, Paolo Abeni <pab...@redhat.com> wrote:
> After the commit 9207f9d45b0a ("net: preserve IP control block
> during GSO segmentation"), the GSO CB and the IPoIB CB conflict.
the commit --> commit (remove the word "the" to make the sentence a
bit more clear)
> That destroy the IPoIB address information cached there,
> causing a severe performance regression, as better described here:
I don't think that links into this archive last for long.. try to find
best if you can provide quick wording telling what is broken (e.g HW LSO)
> This change moves the data cached by the IPoIB driver from the
> skb control lock into the IPoIB hard header, as done before
lock --> block ?
> the commit 936d7de3d736 ("IPoIB: Stop lying about hard_header_len
the commit --> commit
> and use skb->cb to stash LL addresses").
> In order to avoid GRO issue, on packet reception, the IPoIB driver
> stash into the skb a dummy pseudo header, so that the received
> packets have actually a hard header matching the declared length.
> To avoid changing the connected mode maximum mtu, the allocated
> head buffer size is increased by the pseudo header length.
> After this commit, IPoIB performances are back to pre-regression
> v2 -> v3: rebased
> v1 -> v2: avoid changing the max mtu, increasing the head buf size
> Fixes: 9207f9d45b0a ("net: preserve IP control block during GSO segmentation")
> Signed-off-by: Paolo Abeni <pab...@redhat.com>
Is this fix backportable to any kernel since the breakage? AFAIR,
that a 2nd change introduced in 4.7-rc1 changed things a bit more such
that the fix
he had in his head didn't apply any more.
I am still travelling after netdev and would like to put an eye on the
patch and also see that @mellanox.com someone
provides a tested-by ack. Considering the fact that the bug is soon
to (de-)celebrate it's 1st anniversary and as we're still not in rc1,
the patch has enough time to get into 4.9... can you let it be here
for another week or so?