| 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 |  | 
|---|