Linux 6.16-rc6
[linux-2.6-block.git] / include / linux / migrate_mode.h
CommitLineData
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
10 */
11enum migrate_mode {
12 MIGRATE_ASYNC,
13 MIGRATE_SYNC_LIGHT,
14 MIGRATE_SYNC,
15};
16
8eb42bea
JH
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,
ced816a7 27 MR_DAMON,
8eb42bea
JH
28 MR_TYPES
29};
30
6536e312 31#endif /* MIGRATE_MODE_H_INCLUDED */