Lines Matching full:page
10 typedef struct page *new_page_t(struct page *page, unsigned long private);
11 typedef void free_page_t(struct page *page, unsigned long private);
17 * - negative errno on page migration failure;
18 * - zero on page migration success;
23 * struct movable_operations - Driver page migration
25 * The VM calls this function to prepare the page to be moved. The page
27 * return ``true`` if the page is movable and ``false`` if it is not
29 * page->lru field, so the driver must preserve any information which
34 * @src page. The driver should copy the contents of the
35 * @src page to the @dst page and set up the fields of @dst page.
37 * If page migration is successful, the driver should call
39 * If the driver cannot migrate the page at the moment, it can return
47 * If migration fails on the isolated page, the VM informs the driver
48 * that the page is no longer a candidate for migration by calling
49 * this function. The driver should put the isolated page back into
53 bool (*isolate_page)(struct page *, isolate_mode_t);
54 int (*migrate_page)(struct page *dst, struct page *src,
56 void (*putback_page)(struct page *);
72 extern struct page *alloc_migration_target(struct page *page, unsigned long private);
73 extern int isolate_movable_page(struct page *page, isolate_mode_t mode);
91 static inline struct page *alloc_migration_target(struct page *page, in alloc_migration_target() argument
94 static inline int isolate_movable_page(struct page *page, isolate_mode_t mode) in isolate_movable_page() argument
106 bool PageMovable(struct page *page);
107 void __SetPageMovable(struct page *page, const struct movable_operations *ops);
108 void __ClearPageMovable(struct page *page);
110 static inline bool PageMovable(struct page *page) { return false; } in PageMovable() argument
111 static inline void __SetPageMovable(struct page *page, in __SetPageMovable() argument
115 static inline void __ClearPageMovable(struct page *page) in __ClearPageMovable() argument
122 return PageMovable(&folio->page); in folio_test_movable()
126 const struct movable_operations *page_movable_ops(struct page *page) in page_movable_ops() argument
128 VM_BUG_ON(!__PageMovable(page)); in page_movable_ops()
131 ((unsigned long)page->mapping - PAGE_MAPPING_MOVABLE); in page_movable_ops()
135 extern int migrate_misplaced_page(struct page *page,
138 static inline int migrate_misplaced_page(struct page *page, in migrate_misplaced_page() argument
157 static inline struct page *migrate_pfn_to_page(unsigned long mpfn) in migrate_pfn_to_page()
193 * Set to the owner value also stored in page->pgmap->owner for
204 * Set to vmf->page if this is being called to migrate a page as part of
207 struct page *fault_page;