[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20161014.105509.96692421040954960.davem@davemloft.net>
Date: Fri, 14 Oct 2016 10:55:09 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: pabeni@...hat.com
Cc: linux-rdma@...r.kernel.org, dledford@...hat.com,
sean.hefty@...el.com, hal.rosenstock@...il.com,
jgunthorpe@...idianresearch.com, netdev@...r.kernel.org
Subject: Re: [PATCH v3] IB/ipoib: move back IB LL address into the hard
header
From: Paolo Abeni <pabeni@...hat.com>
Date: Thu, 13 Oct 2016 18:26:56 +0200
> After the commit 9207f9d45b0a ("net: preserve IP control block
> during GSO segmentation"), the GSO CB and the IPoIB CB conflict.
> That destroy the IPoIB address information cached there,
> causing a severe performance regression, as better described here:
>
> http://marc.info/?l=linux-kernel&m=146787279825501&w=2
>
> This change moves the data cached by the IPoIB driver from the
> skb control lock into the IPoIB hard header, as done before
> the commit 936d7de3d736 ("IPoIB: Stop lying about hard_header_len
> 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
> value.
>
> 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 <pabeni@...hat.com>
Applied and queued up for -stable, thanks.
Powered by blists - more mailing lists