|
@@ -5,6 +5,14 @@
|
|
|
|
|
|
typedef struct page *new_page_t(struct page *, unsigned long private, int **);
|
|
typedef struct page *new_page_t(struct page *, unsigned long private, int **);
|
|
|
|
|
|
|
|
+/* Check if a vma is migratable */
|
|
|
|
+static inline int vma_migratable(struct vm_area_struct *vma)
|
|
|
|
+{
|
|
|
|
+ if (vma->vm_flags & (VM_IO|VM_HUGETLB|VM_PFNMAP|VM_RESERVED))
|
|
|
|
+ return 0;
|
|
|
|
+ return 1;
|
|
|
|
+}
|
|
|
|
+
|
|
#ifdef CONFIG_MIGRATION
|
|
#ifdef CONFIG_MIGRATION
|
|
extern int isolate_lru_page(struct page *p, struct list_head *pagelist);
|
|
extern int isolate_lru_page(struct page *p, struct list_head *pagelist);
|
|
extern int putback_lru_pages(struct list_head *l);
|
|
extern int putback_lru_pages(struct list_head *l);
|