• Home
  • Raw
  • Download

Lines Matching +full:data +full:- +full:mirror

7 Provide infrastructure and helpers to integrate non-conventional memory (device
23 CPU page-table mirroring works and the purpose of HMM in this context. The
25 Finally, the last section presents a new migration helper that allows lever-
52 For flat data sets (array, grid, image, ...) this isn't too hard to achieve but
53 complex data sets (list, tree, ...) are hard to get right. Duplicating a
54 complex data set needs to re-map all the pointer relations between each of its
56 duplicate data set and addresses.
58 Split address space also means that libraries cannot transparently use data
60 might have to duplicate its input data set using the device specific memory
71 are only do-able with a shared address space. It is also more reasonable to use
96 to address some of these limitations (OpenCAPI, CCIX). They mainly allow two-
117 allocate a buffer (or use a pool of pre-allocated buffers) and write GPU
128 struct page gives the easiest and cleanest integration with existing mm mech-
138 With these two features, HMM not only allows a device to mirror process address
139 space and keeping both CPU and device page table synchronized, but also lever-
140 ages device memory by migrating the part of the data set that is actively being
149 device driver that wants to mirror a process address space must start with the
152 int hmm_mirror_register(struct hmm_mirror *mirror,
154 int hmm_mirror_register_locked(struct hmm_mirror *mirror,
159 of the mm in write mode. The mirror struct has a set of callbacks that are used
163 /* sync_cpu_device_pagetables() - synchronize page tables
165 * @mirror: pointer to struct hmm_mirror
179 void (*update)(struct hmm_mirror *mirror,
206 entries and will not trigger a page fault on missing or non-present entries.
207 The second one does trigger a page fault on missing or read-only entry if the
227 take_lock(driver->update);
229 release_lock(driver->update);
235 release_lock(driver->update);
239 The driver->update lock is the same lock that the driver takes inside its
245 concurrent device updates in multi-devices scenario.
249 update their own page table. Device updates are a multi-step process. First,
262 a device specific data structure to keep information about migrated memory and