Lines Matching +full:locality +full:- +full:specific
44 Documentation/cgroup-v1/cpusets.txt).
45 Cpusets allows the automation of process locality. If a task is moved to
148 Non-LRU page migration
152 for NUMA, compaction who want to create high-order page is also main customer.
155 *LRU* pages. However, there are potential non-lru pages which can be migrated
156 in drivers, for example, zsmalloc, virtio-balloon pages.
158 For virtio-balloon pages, some parts of migration code path have been hooked
159 up and added virtio-balloon specific functions to intercept migration logics.
160 It's too specific to a driver so other drivers who want to make their pages
161 movable would have to add own specific hooks in migration path.
163 To overclome the problem, VM supports non-LRU page migration which provides
164 generic functions for non-LRU movable pages without driver specific hooks
189 can return -EAGAIN. On -EAGAIN, VM will retry page migration in a short time
190 because VM interprets -EAGAIN as "temporal migration failure". On returning
191 any error except -EAGAIN, VM will give up the page migration without retrying
203 4. non-lru movable page flags
205 There are two page flags for supporting non-lru movable page.
216 reuses page->mapping's lower bits to represent it.
220 page->mapping = page->mapping | PAGE_MAPPING_MOVABLE;
222 so driver shouldn't access page->mapping directly. Instead, driver should
223 use page_mapping which mask off the low two bits of page->mapping under
226 For testing of non-lru movable page, VM supports __PageMovable function.
227 However, it doesn't guarantee to identify non-lru movable page because
228 page->mapping field is unified with other variables in struct page.
229 As well, if driver releases the page after isolation by VM, page->mapping
232 page is LRU or non-lru movable once the page has been isolated. Because
233 LRU pages never can have PAGE_MAPPING_MOVABLE in page->mapping. It is also
234 good for just peeking to test non-lru movable pages before more expensive
237 For guaranteeing non-lru movable page, VM provides PageMovable function.
238 Unlike __PageMovable, PageMovable functions validates page->mapping and
239 mapping->a_ops->isolate_page under lock_page. The lock_page prevents sudden
240 destroying of page->mapping.
248 as PG_isolated under lock_page. So if a CPU encounters PG_isolated non-lru