mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-02-08 19:55:10 +07:00
![Christoph Lameter](/assets/img/avatar_default.png)
Change handling of address spaces. Pass a pointer to the address space in which the page is migrated to all migration function. This avoids repeatedly having to retrieve the address space pointer from the page and checking it for validity. The old page mapping will change once migration has gone to a certain step, so it is less confusing to have the pointer always available. Move the setting of the mapping and index for the new page into migrate_pages(). Signed-off-by: Christoph Lameter <clameter@sgi.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
39 lines
1.3 KiB
C
39 lines
1.3 KiB
C
#ifndef _LINUX_MIGRATE_H
|
|
#define _LINUX_MIGRATE_H
|
|
|
|
#include <linux/mm.h>
|
|
|
|
#ifdef CONFIG_MIGRATION
|
|
extern int isolate_lru_page(struct page *p, struct list_head *pagelist);
|
|
extern int putback_lru_pages(struct list_head *l);
|
|
extern int migrate_page(struct address_space *,
|
|
struct page *, struct page *);
|
|
extern int migrate_pages(struct list_head *l, struct list_head *t,
|
|
struct list_head *moved, struct list_head *failed);
|
|
extern int migrate_pages_to(struct list_head *pagelist,
|
|
struct vm_area_struct *vma, int dest);
|
|
extern int fail_migrate_page(struct address_space *,
|
|
struct page *, struct page *);
|
|
|
|
extern int migrate_prep(void);
|
|
|
|
#else
|
|
|
|
static inline int isolate_lru_page(struct page *p, struct list_head *list)
|
|
{ return -ENOSYS; }
|
|
static inline int putback_lru_pages(struct list_head *l) { return 0; }
|
|
static inline int migrate_pages(struct list_head *l, struct list_head *t,
|
|
struct list_head *moved, struct list_head *failed) { return -ENOSYS; }
|
|
|
|
static inline int migrate_pages_to(struct list_head *pagelist,
|
|
struct vm_area_struct *vma, int dest) { return 0; }
|
|
|
|
static inline int migrate_prep(void) { return -ENOSYS; }
|
|
|
|
/* Possible settings for the migrate_page() method in address_operations */
|
|
#define migrate_page NULL
|
|
#define fail_migrate_page NULL
|
|
|
|
#endif /* CONFIG_MIGRATION */
|
|
#endif /* _LINUX_MIGRATE_H */
|