Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
6536e312 AM |
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 | |
2916ecc0 JG |
10 | * MIGRATE_SYNC_NO_COPY will block when migrating pages but will not copy pages |
11 | * with the CPU. Instead, page copy happens outside the migratepage() | |
12 | * callback and is likely using a DMA engine. See migrate_vma() and HMM | |
13 | * (mm/hmm.c) for users of this mode. | |
6536e312 AM |
14 | */ |
15 | enum migrate_mode { | |
16 | MIGRATE_ASYNC, | |
17 | MIGRATE_SYNC_LIGHT, | |
18 | MIGRATE_SYNC, | |
2916ecc0 | 19 | MIGRATE_SYNC_NO_COPY, |
6536e312 AM |
20 | }; |
21 | ||
22 | #endif /* MIGRATE_MODE_H_INCLUDED */ |