[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <A9F9D621-445E-4F3C-95FE-3963A3DAEF98@gmail.com>
Date: Thu, 6 Dec 2018 10:29:35 -0800
From: Nadav Amit <nadav.amit@...il.com>
To: Jesper Dangaard Brouer <brouer@...hat.com>
Cc: Christoph Hellwig <hch@....de>,
Toke Høiland-Jørgensen <toke@...e.dk>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Ilias Apalodimas <ilias.apalodimas@...aro.org>,
LKML <linux-kernel@...r.kernel.org>,
iommu <iommu@...ts.linux-foundation.org>,
Robin Murphy <robin.murphy@....com>,
Tariq Toukan <tariqt@...lanox.com>,
Josh Poimboeuf <jpoimboe@...hat.com>
Subject: Re: [RFC] avoid indirect calls for DMA direct mappings
> On Dec 6, 2018, at 9:43 AM, Jesper Dangaard Brouer <brouer@...hat.com> wrote:
>
> On Thu, 6 Dec 2018 07:37:19 -0800
> Christoph Hellwig <hch@....de> wrote:
>
>> Hi all,
>>
>> a while ago Jesper reported major performance regressions due to the
>> spectre v2 mitigations in his XDP forwarding workloads. A large part
>> of that is due to the DMA mapping API indirect calls.
>>
>> It turns out that the most common implementation of the DMA API is the
>> direct mapping case, and now that we have merged almost all duplicate
>> implementations of that into a single generic one is easily feasily to
>> direct calls for this fast path.
>>
>> This patch adds a check if we are using dma_direct_ops in each fast path
>> DMA operation, and just uses a direct call instead. For the XDP workload
>> this increases the number of packets per second from 7,438,283 to
>> 9,610,088, so it provides a very significant speedup.
>
> Full test report avail here:
> https://github.com/xdp-project/xdp-project/blob/master/areas/dma/dma01_test_hellwig_direct_dma.org
>
>
>> Note that the patch depends on a lot of work either queued up in the
>> DMA mapping tree, or still out on the list from review, so to actually
>> try the patch you probably want this git tree:
>>
>>
>> git://git.infradead.org/users/hch/misc.git dma-direct-calls
>>
>> Gitweb:
>>
>> http://git.infradead.org/users/hch/misc.git/shortlog/refs/heads/dma-direct-calls
Did you happen to see my RFC for "automatic" indirect call promotion?
https://lkml.org/lkml/2018/10/18/175
I hope to get v1 based on Josh responses next week.
Powered by blists - more mailing lists