23 lines
758 B
C
23 lines
758 B
C
|
/* SPDX-License-Identifier: GPL-2.0 */
|
||
|
#ifndef MIGRATE_MODE_H_INCLUDED
|
||
|
#define MIGRATE_MODE_H_INCLUDED
|
||
|
/*
|
||
|
* MIGRATE_ASYNC means never block
|
||
|
* MIGRATE_SYNC_LIGHT in the current implementation means to allow blocking
|
||
|
* on most operations but not ->writepage as the potential stall time
|
||
|
* is too significant
|
||
|
* MIGRATE_SYNC will block when migrating pages
|
||
|
* MIGRATE_SYNC_NO_COPY will block when migrating pages but will not copy pages
|
||
|
* with the CPU. Instead, page copy happens outside the migratepage()
|
||
|
* callback and is likely using a DMA engine. See migrate_vma() and HMM
|
||
|
* (mm/hmm.c) for users of this mode.
|
||
|
*/
|
||
|
enum migrate_mode {
|
||
|
MIGRATE_ASYNC,
|
||
|
MIGRATE_SYNC_LIGHT,
|
||
|
MIGRATE_SYNC,
|
||
|
MIGRATE_SYNC_NO_COPY,
|
||
|
};
|
||
|
|
||
|
#endif /* MIGRATE_MODE_H_INCLUDED */
|