diff options
Diffstat (limited to 'include/linux/migrate.h')
| -rw-r--r-- | include/linux/migrate.h | 30 | 
1 files changed, 15 insertions, 15 deletions
diff --git a/include/linux/migrate.h b/include/linux/migrate.h index 22c0a0cf5e0c..3ef77f52a4f0 100644 --- a/include/linux/migrate.h +++ b/include/linux/migrate.h @@ -62,6 +62,8 @@ extern const char *migrate_reason_names[MR_TYPES];  #ifdef CONFIG_MIGRATION  extern void putback_movable_pages(struct list_head *l); +int migrate_folio_extra(struct address_space *mapping, struct folio *dst, +		struct folio *src, enum migrate_mode mode, int extra_count);  int migrate_folio(struct address_space *mapping, struct folio *dst,  		struct folio *src, enum migrate_mode mode);  extern int migrate_pages(struct list_head *l, new_page_t new, free_page_t free, @@ -100,21 +102,6 @@ static inline int migrate_huge_page_move_mapping(struct address_space *mapping,  #endif /* CONFIG_MIGRATION */ -#if defined(CONFIG_MIGRATION) && defined(CONFIG_NUMA) -extern void set_migration_target_nodes(void); -extern void migrate_on_reclaim_init(void); -extern bool numa_demotion_enabled; -extern int next_demotion_node(int node); -#else -static inline void set_migration_target_nodes(void) {} -static inline void migrate_on_reclaim_init(void) {} -static inline int next_demotion_node(int node) -{ -        return NUMA_NO_NODE; -} -#define numa_demotion_enabled  false -#endif -  #ifdef CONFIG_COMPACTION  bool PageMovable(struct page *page);  void __SetPageMovable(struct page *page, const struct movable_operations *ops); @@ -212,11 +199,24 @@ struct migrate_vma {  	 */  	void			*pgmap_owner;  	unsigned long		flags; + +	/* +	 * Set to vmf->page if this is being called to migrate a page as part of +	 * a migrate_to_ram() callback. +	 */ +	struct page		*fault_page;  };  int migrate_vma_setup(struct migrate_vma *args);  void migrate_vma_pages(struct migrate_vma *migrate);  void migrate_vma_finalize(struct migrate_vma *migrate); +int migrate_device_range(unsigned long *src_pfns, unsigned long start, +			unsigned long npages); +void migrate_device_pages(unsigned long *src_pfns, unsigned long *dst_pfns, +			unsigned long npages); +void migrate_device_finalize(unsigned long *src_pfns, +			unsigned long *dst_pfns, unsigned long npages); +  #endif /* CONFIG_MIGRATION */  #endif /* _LINUX_MIGRATE_H */  |