1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef MIGRATE_MODE_H_INCLUDED 3 #define MIGRATE_MODE_H_INCLUDED 4 /* 5 * MIGRATE_ASYNC means never block 6 * MIGRATE_SYNC_LIGHT in the current implementation means to allow blocking 7 * on most operations but not ->writepage as the potential stall time 8 * is too significant 9 * MIGRATE_SYNC will block when migrating pages 10 */ 11 enum migrate_mode { 12 MIGRATE_ASYNC, 13 MIGRATE_SYNC_LIGHT, 14 MIGRATE_SYNC, 15 }; 16 17 enum migrate_reason { 18 MR_COMPACTION, 19 MR_MEMORY_FAILURE, 20 MR_MEMORY_HOTPLUG, 21 MR_SYSCALL, /* also applies to cpusets */ 22 MR_MEMPOLICY_MBIND, 23 MR_NUMA_MISPLACED, 24 MR_CONTIG_RANGE, 25 MR_LONGTERM_PIN, 26 MR_DEMOTION, 27 MR_DAMON, 28 MR_TYPES 29 }; 30 31 #endif /* MIGRATE_MODE_H_INCLUDED */ 32