Message ID | 20191122205734.15925-1-niranjana.vishwanathapura@intel.com (mailing list archive) |
---|---|
Headers | show |
Series | drm/i915/svm: Add SVM support | expand |
Quoting Niranjana Vishwanathapura (2019-11-22 22:57:21) > Shared Virtual Memory (SVM) allows the programmer to use a single virtual > address space which will be shared between threads executing on CPUs and GPUs. > It abstracts away from the user the location of the backing memory, and hence > simplifies the user programming model. > SVM supports two types of virtual memory allocation methods. > Runtime allocator requires the driver to provide memory allocation and > management interface, like buffer object (BO) interface. > Whereas system allocator makes use of default OS memory allocation and > management support like malloc(). > > This patch series adds both SVM system and runtime allocator support > to i915 driver. > > The patch series includes > - SVM support for both system and runtime allocation. > - Plugin in device memory with the Linux kernel. > - User API advertising SVM capability and configuration by user on per > vm basis. > - User API to bind an address range or a BO with a device page table. > - User API to migrate an address range to device memory. > - Implicit migration by moving pages or BOs back from device to host > memory upon CPU access. > - CPU copy and blitter copy support for migrating the pages/BOs. > - Large page mapping support > - Page table dump support. Link to the IGTs, any selftests? Link to userspace changes? Regards, Joonas
On Tue, Nov 26, 2019 at 04:03:21PM +0200, Joonas Lahtinen wrote: >Quoting Niranjana Vishwanathapura (2019-11-22 22:57:21) >> Shared Virtual Memory (SVM) allows the programmer to use a single virtual >> address space which will be shared between threads executing on CPUs and GPUs. >> It abstracts away from the user the location of the backing memory, and hence >> simplifies the user programming model. >> SVM supports two types of virtual memory allocation methods. >> Runtime allocator requires the driver to provide memory allocation and >> management interface, like buffer object (BO) interface. >> Whereas system allocator makes use of default OS memory allocation and >> management support like malloc(). >> >> This patch series adds both SVM system and runtime allocator support >> to i915 driver. >> >> The patch series includes >> - SVM support for both system and runtime allocation. >> - Plugin in device memory with the Linux kernel. >> - User API advertising SVM capability and configuration by user on per >> vm basis. >> - User API to bind an address range or a BO with a device page table. >> - User API to migrate an address range to device memory. >> - Implicit migration by moving pages or BOs back from device to host >> memory upon CPU access. >> - CPU copy and blitter copy support for migrating the pages/BOs. >> - Large page mapping support >> - Page table dump support. > >Link to the IGTs, any selftests? >Link to userspace changes? I have some IGT tests, I will post them soon. Niranjana > >Regards, Joonas