xref: /linux-6.15/include/linux/migrate_mode.h (revision cd57dc5a)
1 #ifndef MIGRATE_MODE_H_INCLUDED
2 #define MIGRATE_MODE_H_INCLUDED
3 /*
4  * MIGRATE_ASYNC means never block
5  * MIGRATE_SYNC_LIGHT in the current implementation means to allow blocking
6  *	on most operations but not ->writepage as the potential stall time
7  *	is too significant
8  * MIGRATE_SYNC will block when migrating pages
9  * MIGRATE_SYNC_NO_COPY will block when migrating pages but will not copy pages
10  *	with the CPU. Instead, page copy happens outside the migratepage()
11  *	callback and is likely using a DMA engine. See migrate_vma() and HMM
12  *	(mm/hmm.c) for users of this mode.
13  */
14 enum migrate_mode {
15 	MIGRATE_ASYNC,
16 	MIGRATE_SYNC_LIGHT,
17 	MIGRATE_SYNC,
18 	MIGRATE_SYNC_NO_COPY,
19 };
20 
21 #endif		/* MIGRATE_MODE_H_INCLUDED */
22