blob: bdf66af9b937a51a661a15c7f0feda67847efe90 [file] [log] [blame]
Andrew Morton6536e312012-01-20 14:33:53 -08001#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
Jérôme Glisse2916ecc2017-09-08 16:12:06 -07009 * 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.
Andrew Morton6536e312012-01-20 14:33:53 -080013 */
14enum migrate_mode {
15 MIGRATE_ASYNC,
16 MIGRATE_SYNC_LIGHT,
17 MIGRATE_SYNC,
Jérôme Glisse2916ecc2017-09-08 16:12:06 -070018 MIGRATE_SYNC_NO_COPY,
Andrew Morton6536e312012-01-20 14:33:53 -080019};
20
21#endif /* MIGRATE_MODE_H_INCLUDED */