Linux 6.16-rc6
[linux-2.6-block.git] / include / linux / migrate_mode.h
... / ...
CommitLineData
1/* SPDX-License-Identifier: GPL-2.0 */
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
10 */
11enum migrate_mode {
12 MIGRATE_ASYNC,
13 MIGRATE_SYNC_LIGHT,
14 MIGRATE_SYNC,
15};
16
17enum migrate_reason {
18 MR_COMPACTION,
19 MR_MEMORY_FAILURE,
20 MR_MEMORY_HOTPLUG,
21 MR_SYSCALL, /* also applies to cpusets */
22 MR_MEMPOLICY_MBIND,
23 MR_NUMA_MISPLACED,
24 MR_CONTIG_RANGE,
25 MR_LONGTERM_PIN,
26 MR_DEMOTION,
27 MR_DAMON,
28 MR_TYPES
29};
30
31#endif /* MIGRATE_MODE_H_INCLUDED */