Thread (18 messages) 18 messages, 5 authors, 2021-02-02

RE: [RFC PATCH v2] uacce: Add uacce_ctrl misc device

From: Song Bao Hua (Barry Song) <hidden>
Date: 2021-01-25 23:37:20
Also in: linux-iommu, lkml

-----Original Message-----
From: owner-linux-mm@kvack.org [mailto:owner-linux-mm@kvack.org] On Behalf Of
Jason Gunthorpe
Sent: Tuesday, January 26, 2021 12:16 PM
To: Song Bao Hua (Barry Song) <redacted>
Cc: Wangzhou (B) <wangzhou1@hisilicon.com>; Greg Kroah-Hartman
[off-list ref]; Arnd Bergmann [off-list ref]; Zhangfei Gao
[off-list ref]; linux-accelerators@lists.ozlabs.org;
linux-kernel@vger.kernel.org; iommu@lists.linux-foundation.org;
linux-mm@kvack.org; Liguozhu (Kenneth) [off-list ref]; chensihang
(A) [off-list ref]
Subject: Re: [RFC PATCH v2] uacce: Add uacce_ctrl misc device

On Mon, Jan 25, 2021 at 10:21:14PM +0000, Song Bao Hua (Barry Song) wrote:
quoted
mlock, while certainly be able to prevent swapping out, it won't
be able to stop page moving due to:
* memory compaction in alloc_pages()
* making huge pages
* numa balance
* memory compaction in CMA
Enabling those things is a major reason to have SVA device in the
first place, providing a SW API to turn it all off seems like the
wrong direction.
I wouldn't say this is a major reason to have SVA. If we read the
history of SVA and papers, people would think easy programming due
to data struct sharing between cpu and device, and process space
isolation in device would be the major reasons for SVA. SVA also
declares it supports zero-copy while zero-copy doesn't necessarily
depend on SVA.

Page migration and I/O page fault overhead, on the other hand, would
probably be the major problems which block SVA becoming a 
high-performance and more popular solution.
If the device doesn't want to use SVA then don't use it, use normal
DMA pinning like everything else.
If we disable SVA, we won't get the benefits of SVA on address sharing,
and process space isolation.
Jason
Thanks
Barry
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help