From: Paolo Abeni <pabeni@redhat.com>
To: David Miller <davem@davemloft.net>
Cc: linux-rdma@vger.kernel.org, dledford@redhat.com,
sean.hefty@intel.com, hal.rosenstock@gmail.com,
netdev@vger.kernel.org
Subject: Re: [PATCH] IB/ipoib: move back the IB LL address into the hard header
Date: Thu, 13 Oct 2016 17:17:04 +0200 [thread overview]
Message-ID: <1476371824.4690.32.camel@redhat.com> (raw)
In-Reply-To: <20161013.102432.1450901395774429343.davem@davemloft.net>
On Thu, 2016-10-13 at 10:24 -0400, David Miller wrote:
> From: Paolo Abeni <pabeni@redhat.com>
> Date: Tue, 11 Oct 2016 19:15:44 +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.
> > Also the connected mode maximum mtu is reduced by 16 bytes to
> > cope with the increased hard header len.
> >
> > After this commit, IPoIB performances are back to pre-regression
> > value.
> >
> > Fixes: 9207f9d45b0a ("net: preserve IP control block during GSO segmentation")
> > Signed-off-by: Paolo Abeni <pabeni@redhat.com>
>
> Not providing an accurate hard_header_len causes many problems.
>
> In fact we recently fixed the mlxsw driver to stop doing this.
AFAICS the mlxsw did a different thing, adding an additional header in
the xmit function and pushing packets in the network stack with a mac
length different from the declared hard header length
The hard header specified by the IPoIB driver is build in the create()
header_ops and its length matches the mac header length of the packets
pushed into the network stack by such driver. GRO works correctly on top
of that. From the networking stack PoV the hard_header_len should be
'accurate'.
Can you please give more details on the problem that may arise from
this ?
thank you,
Paolo
prev parent reply other threads:[~2016-10-13 15:17 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-11 17:15 [PATCH] IB/ipoib: move back the IB LL address into the hard header Paolo Abeni
[not found] ` <1dbd83dfe7f435eecc5bc460e901b47758280f30.1476206016.git.pabeni-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-10-11 17:32 ` Jason Gunthorpe
2016-10-11 17:37 ` Paolo Abeni
[not found] ` <1476207452.448.2.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-10-11 17:42 ` Jason Gunthorpe
[not found] ` <20161011174224.GA17319-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-10-11 17:52 ` Paolo Abeni
2016-10-11 17:41 ` Doug Ledford
2016-10-11 18:01 ` Jason Gunthorpe
2016-10-11 18:10 ` Paolo Abeni
[not found] ` <1476209407.448.9.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-10-11 18:17 ` Doug Ledford
[not found] ` <073e0007-a43b-134d-ba7e-b290304be585-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-10-11 18:30 ` Jason Gunthorpe
[not found] ` <20161011183019.GC20253-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-10-11 18:50 ` Doug Ledford
2016-10-12 18:21 ` Doug Ledford
2016-10-11 18:27 ` Jason Gunthorpe
2016-10-13 14:24 ` David Miller
[not found] ` <20161013.102432.1450901395774429343.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2016-10-13 14:35 ` Doug Ledford
2016-10-13 14:43 ` [PATCH] IB/ipoib: move back the IB LL address into the hard header,Re: " David Miller
[not found] ` <20161013.104314.1842951254979604965.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2016-10-13 15:20 ` Doug Ledford
2016-10-13 15:57 ` [PATCH] IB/ipoib: move back the IB LL address into the hard header,Re: [PATCH] IB/ipoib: move back the IB LL address into the hard header,Re: " David Miller
2016-10-13 15:17 ` Paolo Abeni [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1476371824.4690.32.camel@redhat.com \
--to=pabeni@redhat.com \
--cc=davem@davemloft.net \
--cc=dledford@redhat.com \
--cc=hal.rosenstock@gmail.com \
--cc=linux-rdma@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=sean.hefty@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).