On Tue, 29 May 2007, Mel Gorman wrote:
+config SYSCALL_MOVE_PAGES
+ def_bool y
+ depends on MIGRATION && NUMA
+
Do we really need the CONFIG_SYSCALL_MOVE_PAGES? I think you will directly
access the lower levels. So why have it? CONFIG_SYSCALL_MOVE_PAGES ==
CONFIG_NUMA.
Without SYSCALL_MOVE_PAGES, the check in migrate.h becomes
#if defined(CONFIG_NUMA) && defined(CONFIG_MIGRATION)
/* Check if a vma is migratable */
static inline int vma_migratable(struct vm_area_struct *vma)
#endif
Why do you need vma_migratable for the CONFIG_MIGRATION case? The use of
vma_migratable in a !NUMA sitation would not be working right as far as I
can tell.
#ifdef CONFIG_NUMA
is fine.
That in itself is fine but in mm/migrate.c I didn't want to define
sys_move_pages() in the non-NUMA case. Whatever about the header file where
SYSCALL_MOVE_PAGES obscures understanding, I think it makes sense to have
SYSCALL_MOVE_PAGES for mm/migrate.c . What do you think?
Why do you need sys_move_pages for the non-NUMA case?
The low level function that I intended to be used by defrag is
migrate_pages and that one is outside of #ifdef CONFIG_NUMA.