1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 26536e312SAndrew Morton #ifndef MIGRATE_MODE_H_INCLUDED 36536e312SAndrew Morton #define MIGRATE_MODE_H_INCLUDED 46536e312SAndrew Morton /* 56536e312SAndrew Morton * MIGRATE_ASYNC means never block 66536e312SAndrew Morton * MIGRATE_SYNC_LIGHT in the current implementation means to allow blocking 76536e312SAndrew Morton * on most operations but not ->writepage as the potential stall time 86536e312SAndrew Morton * is too significant 96536e312SAndrew Morton * MIGRATE_SYNC will block when migrating pages 106536e312SAndrew Morton */ 116536e312SAndrew Morton enum migrate_mode { 126536e312SAndrew Morton MIGRATE_ASYNC, 136536e312SAndrew Morton MIGRATE_SYNC_LIGHT, 146536e312SAndrew Morton MIGRATE_SYNC, 156536e312SAndrew Morton }; 166536e312SAndrew Morton 178eb42beaSJohn Hubbard enum migrate_reason { 188eb42beaSJohn Hubbard MR_COMPACTION, 198eb42beaSJohn Hubbard MR_MEMORY_FAILURE, 208eb42beaSJohn Hubbard MR_MEMORY_HOTPLUG, 218eb42beaSJohn Hubbard MR_SYSCALL, /* also applies to cpusets */ 228eb42beaSJohn Hubbard MR_MEMPOLICY_MBIND, 238eb42beaSJohn Hubbard MR_NUMA_MISPLACED, 248eb42beaSJohn Hubbard MR_CONTIG_RANGE, 258eb42beaSJohn Hubbard MR_LONGTERM_PIN, 268eb42beaSJohn Hubbard MR_DEMOTION, 27*ced816a7SHonggyu Kim MR_DAMON, 288eb42beaSJohn Hubbard MR_TYPES 298eb42beaSJohn Hubbard }; 308eb42beaSJohn Hubbard 316536e312SAndrew Morton #endif /* MIGRATE_MODE_H_INCLUDED */ 32