[RFC PATCH v2] uacce: Add uacce_ctrl misc device
Song Bao Hua (Barry Song)
song.bao.hua at hisilicon.com
Tue Jan 26 10:35:22 AEDT 2021
> -----Original Message-----
> From: owner-linux-mm at kvack.org [mailto:owner-linux-mm at kvack.org] On Behalf Of
> Jason Gunthorpe
> Sent: Tuesday, January 26, 2021 12:16 PM
> To: Song Bao Hua (Barry Song) <song.bao.hua at hisilicon.com>
> Cc: Wangzhou (B) <wangzhou1 at hisilicon.com>; Greg Kroah-Hartman
> <gregkh at linuxfoundation.org>; Arnd Bergmann <arnd at arndb.de>; Zhangfei Gao
> <zhangfei.gao at linaro.org>; linux-accelerators at lists.ozlabs.org;
> linux-kernel at vger.kernel.org; iommu at lists.linux-foundation.org;
> linux-mm at kvack.org; Liguozhu (Kenneth) <liguozhu at hisilicon.com>; chensihang
> (A) <chensihang1 at hisilicon.com>
> 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:
> > 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.
More information about the Linux-accelerators