• Home
  • Raw
  • Download

Lines Matching +full:shared +full:- +full:dma +full:- +full:pool

5 Provide infrastructure and helpers to integrate non-conventional memory (device
21 CPU page-table mirroring works and the purpose of HMM in this context. The
24 leveraging the device DMA engine.
34 driver and regular application memory (private anonymous, shared memory, or
36 address space. I use shared address space to refer to the opposite situation:
52 complex data set needs to re-map all the pointer relations between each of its
69 are only doable with a shared address space. It is also more reasonable to use
70 a shared address space for all other patterns.
76 I/O buses cripple shared address spaces due to a few limitations. Most I/O
95 two-way cache coherency between CPU and device and allow all atomic operations the
99 So for shared address space to make sense, not only must we allow devices to
104 Shared address space and migration
115 allocate a buffer (or use a pool of pre-allocated buffers) and write GPU
155 During the ops->invalidate() callback the device driver must perform the
164 It will trigger a page fault on missing or read-only entries if write access is
178 if (!mmget_not_zero(interval_sub->notifier.mm))
179 return -EFAULT;
187 if (ret == -EBUSY)
193 take_lock(driver->update);
195 release_lock(driver->update);
202 release_lock(driver->update);
206 The driver->update lock is the same lock that the driver takes inside its
221 range->default_flags = HMM_PFN_REQ_FAULT;
222 range->pfn_flags_mask = 0;
230 range->default_flags = HMM_PFN_REQ_FAULT;
231 range->pfn_flags_mask = HMM_PFN_REQ_WRITE;
232 range->pfns[index_of_write] = HMM_PFN_REQ_WRITE;
235 address == range->start + (index_of_write << PAGE_SHIFT) it will fault with
264 use hardware DMA or device specific load/store instructions to migrate data.
282 pagemap.range.start = res->start;
283 pagemap.range.end = res->end;
297 between device driver specific code and shared common code:
308 the pointer to migrate_vma_setup(). The ``args->flags`` field is used to
312 device private memory. If the latter flag is set, the ``args->pgmap_owner``
321 walks to fill in the ``args->src`` array with PFNs to be migrated.
325 the ``args->pgmap_owner`` field passed to migrate_vma_setup(). This
331 entry results in a valid "zero" PFN stored in the ``args->src`` array.
338 migrate_vma_setup() also clears the ``args->dst`` array.
401 atomic access to system memory. To support atomic operations to a shared virtual
419 file backed page, or shmem if device page is used for shared memory). This is a
441 is dropped in case of shared memory or file backed memory.