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