Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1696996
| From | "Leizhen (ThunderTown)" <thunder.leizhen@huawei.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH v2 0/4] Optimise 64-bit IOVA allocations |
| Date | 2017-07-26 13:20 +0200 |
| Message-ID | <u7sw9-83B-11@gated-at.bofh.it> (permalink) |
| References | <u5EBr-4jK-9@gated-at.bofh.it> <u7smu-80k-3@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On 2017/7/26 19:08, Joerg Roedel wrote: > Hi Robin. > > On Fri, Jul 21, 2017 at 12:41:57PM +0100, Robin Murphy wrote: >> Hi all, >> >> In the wake of the ARM SMMU optimisation efforts, it seems that certain >> workloads (e.g. storage I/O with large scatterlists) probably remain quite >> heavily influenced by IOVA allocation performance. Separately, Ard also >> reported massive performance drops for a graphical desktop on AMD Seattle >> when enabling SMMUs via IORT, which we traced to dma_32bit_pfn in the DMA >> ops domain getting initialised differently for ACPI vs. DT, and exposing >> the overhead of the rbtree slow path. Whilst we could go around trying to >> close up all the little gaps that lead to hitting the slowest case, it >> seems a much better idea to simply make said slowest case a lot less slow. > > Do you have some numbers here? How big was the impact before these > patches and how is it with the patches? Here are some numbers: (before)$ iperf -s ------------------------------------------------------------ Server listening on TCP port 5001 TCP window size: 85.3 KByte (default) ------------------------------------------------------------ [ 4] local 192.168.1.106 port 5001 connected with 192.168.1.198 port 35898 [ ID] Interval Transfer Bandwidth [ 4] 0.0-10.2 sec 7.88 MBytes 6.48 Mbits/sec [ 5] local 192.168.1.106 port 5001 connected with 192.168.1.198 port 35900 [ 5] 0.0-10.3 sec 7.88 MBytes 6.43 Mbits/sec [ 4] local 192.168.1.106 port 5001 connected with 192.168.1.198 port 35902 [ 4] 0.0-10.3 sec 7.88 MBytes 6.43 Mbits/sec (after)$ iperf -s ------------------------------------------------------------ Server listening on TCP port 5001 TCP window size: 85.3 KByte (default) ------------------------------------------------------------ [ 4] local 192.168.1.106 port 5001 connected with 192.168.1.198 port 36330 [ ID] Interval Transfer Bandwidth [ 4] 0.0-10.0 sec 1.09 GBytes 933 Mbits/sec [ 5] local 192.168.1.106 port 5001 connected with 192.168.1.198 port 36332 [ 5] 0.0-10.0 sec 1.10 GBytes 939 Mbits/sec [ 4] local 192.168.1.106 port 5001 connected with 192.168.1.198 port 36334 [ 4] 0.0-10.0 sec 1.10 GBytes 938 Mbits/sec > > > Joerg > > > . > -- Thanks! BestRegards
Back to linux.kernel | Previous | Next — Previous in thread | Find similar | Unroll thread
[PATCH v2 0/4] Optimise 64-bit IOVA allocations Robin Murphy <robin.murphy@arm.com> - 2017-07-21 13:50 +0200
[PATCH v2 1/4] iommu/iova: Optimise rbtree searching Robin Murphy <robin.murphy@arm.com> - 2017-07-21 13:50 +0200
[PATCH v2 4/4] iommu/iova: Make dma_32bit_pfn implicit Robin Murphy <robin.murphy@arm.com> - 2017-07-21 13:50 +0200
[PATCH v2 2/4] iommu/iova: Optimise the padding calculation Robin Murphy <robin.murphy@arm.com> - 2017-07-21 13:50 +0200
Re: [PATCH v2 0/4] Optimise 64-bit IOVA allocations Joerg Roedel <joro@8bytes.org> - 2017-07-26 13:10 +0200
Re: [PATCH v2 0/4] Optimise 64-bit IOVA allocations "Leizhen (ThunderTown)" <thunder.leizhen@huawei.com> - 2017-07-26 13:20 +0200
csiph-web