From: Daniel Borkmann <daniel@iogearbox.net>
To: Jussi Maki <joamaki@gmail.com>, Robin Murphy <robin.murphy@arm.com>
Cc: jroedel@suse.de, netdev@vger.kernel.org,
jesse.brandeburg@intel.com, hch@lst.de,
iommu@lists.linux-foundation.org, anthony.l.nguyen@intel.com,
gregkh@linuxfoundation.org, intel-wired-lan@lists.osuosl.org,
bpf <bpf@vger.kernel.org>,
davem@davemloft.net
Subject: Re: Regression 5.12.0-rc4 net: ice: significant throughput drop
Date: Wed, 2 Jun 2021 10:09:28 +0200 [thread overview]
Message-ID: <7c04eeea-22d3-c265-8e1e-b3f173f2179f@iogearbox.net> (raw)
In-Reply-To: <CAHn8xckNt3smeQPi3dgq5i_3vP7KwU45pnP5OCF8nOV_QEdyMA@mail.gmail.com>
On 6/1/21 7:42 PM, Jussi Maki wrote:
> Hi Robin,
>
> On Tue, Jun 1, 2021 at 2:39 PM Robin Murphy <robin.murphy@arm.com> wrote:
>>>> The regression shows as a significant drop in throughput as measured
>>>> with "super_netperf" [0],
>>>> with measured bandwidth of ~95Gbps before and ~35Gbps after:
>>
>> I guess that must be the difference between using the flush queue
>> vs. strict invalidation. On closer inspection, it seems to me that
>> there's a subtle pre-existing bug in the AMD IOMMU driver, in that
>> amd_iommu_init_dma_ops() actually runs *after* amd_iommu_init_api()
>> has called bus_set_iommu(). Does the patch below work?
>
> Thanks for the quick response & patch. I tried it out and indeed it
> does solve the issue:
>
> # uname -a
> Linux zh-lab-node-3 5.13.0-rc3-amd-iommu+ #31 SMP Tue Jun 1 17:12:57
> UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
> root@zh-lab-node-3:~# ./super_netperf 32 -H 172.18.0.2
> 95341.2
>
> root@zh-lab-node-3:~# uname -a
> Linux zh-lab-node-3 5.13.0-rc3-amd-iommu-unpatched #32 SMP Tue Jun 1
> 17:29:34 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
> root@zh-lab-node-3:~# ./super_netperf 32 -H 172.18.0.2
> 33989.5
Robin, probably goes without saying, but please make sure to include ...
Fixes: a250c23f15c2 ("iommu: remove DOMAIN_ATTR_DMA_USE_FLUSH_QUEUE")
... to your fix in [0], maybe along with another Fixes tag pointing to the original
commit adding this issue. But certainly a250c23f15c2 would be good given the regression
was uncovered on that one first, so that Greg et al have a chance to pick this fix up
for stable kernels.
Thanks everyone!
[0] https://lore.kernel.org/bpf/7f048c57-423b-68ba-eede-7e194c1fea4e@arm.com/
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
next prev parent reply other threads:[~2021-06-02 8:09 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CAHn8xckNXci+X_Eb2WMv4uVYjO2331UWB2JLtXr_58z0Av8+8A@mail.gmail.com>
2021-06-01 6:57 ` Regression 5.12.0-rc4 net: ice: significant throughput drop Daniel Borkmann
2021-06-01 12:39 ` Robin Murphy
2021-06-01 17:42 ` Jussi Maki
2021-06-02 8:09 ` Daniel Borkmann [this message]
2021-06-02 12:48 ` Robin Murphy
2021-06-03 12:32 ` Jussi Maki
2021-06-03 13:09 ` Robin Murphy
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=7c04eeea-22d3-c265-8e1e-b3f173f2179f@iogearbox.net \
--to=daniel@iogearbox.net \
--cc=anthony.l.nguyen@intel.com \
--cc=bpf@vger.kernel.org \
--cc=davem@davemloft.net \
--cc=gregkh@linuxfoundation.org \
--cc=hch@lst.de \
--cc=intel-wired-lan@lists.osuosl.org \
--cc=iommu@lists.linux-foundation.org \
--cc=jesse.brandeburg@intel.com \
--cc=joamaki@gmail.com \
--cc=jroedel@suse.de \
--cc=netdev@vger.kernel.org \
--cc=robin.murphy@arm.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