bpf: Fix a BTF_ID_LIST bug with CONFIG_DEBUG_INFO_BTF not set
[platform/kernel/linux-starfive.git] / include / linux / migrate.h
index 704a04f..3ef77f5 100644 (file)
@@ -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,
@@ -197,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 */