Lines Matching +full:pcie +full:- +full:mirror
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
52 complex data set needs to re-map all the pointer relations between each of its
81 If we only consider the PCIE bus, then a device can access main memory (often
88 Another crippling factor is the limited bandwidth (~32GBytes/s with PCIE 4.0
93 Some platforms are developing new I/O buses or additions/modifications to PCIE
95 two-way cache coherency between CPU and device and allow all atomic operations the
115 allocate a buffer (or use a pool of pre-allocated buffers) and write GPU
136 With these two features, HMM not only allows a device to mirror process address
147 device driver that wants to mirror a process address space must start with the
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
282 pagemap.range.start = res->start;
283 pagemap.range.end = res->end;
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.