[lkml]   [2018]   [Dec]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [RFC] avoid indirect calls for DMA direct mappings
> On Dec 6, 2018, at 9:43 AM, Jesper Dangaard Brouer <> wrote:
> On Thu, 6 Dec 2018 07:37:19 -0800
> Christoph Hellwig <> 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:
>> 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:// dma-direct-calls
>> Gitweb:

Did you happen to see my RFC for "automatic" indirect call promotion?

I hope to get v1 based on Josh responses next week.

 \ /
  Last update: 2018-12-06 19:31    [W:0.044 / U:1.952 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site