Linux 4.14-rc6
[linux-2.6-block.git] / include / linux / migrate_mode.h
CommitLineData
6536e312
AM
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
2916ecc0
JG
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.
6536e312
AM
13 */
14enum migrate_mode {
15 MIGRATE_ASYNC,
16 MIGRATE_SYNC_LIGHT,
17 MIGRATE_SYNC,
2916ecc0 18 MIGRATE_SYNC_NO_COPY,
6536e312
AM
19};
20
21#endif /* MIGRATE_MODE_H_INCLUDED */