Contributors: 9
Author |
Tokens |
Token Proportion |
Commits |
Commit Proportion |
Mel Gorman |
24 |
50.00% |
2 |
20.00% |
Andrew Morton |
11 |
22.92% |
1 |
10.00% |
Jérôme Glisse |
3 |
6.25% |
1 |
10.00% |
Peter Zijlstra |
2 |
4.17% |
1 |
10.00% |
Pavel Tatashin |
2 |
4.17% |
1 |
10.00% |
Vlastimil Babka |
2 |
4.17% |
1 |
10.00% |
Dave Hansen |
2 |
4.17% |
1 |
10.00% |
Anshuman Khandual |
1 |
2.08% |
1 |
10.00% |
Greg Kroah-Hartman |
1 |
2.08% |
1 |
10.00% |
Total |
48 |
|
10 |
|
/* 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,
};
enum migrate_reason {
MR_COMPACTION,
MR_MEMORY_FAILURE,
MR_MEMORY_HOTPLUG,
MR_SYSCALL, /* also applies to cpusets */
MR_MEMPOLICY_MBIND,
MR_NUMA_MISPLACED,
MR_CONTIG_RANGE,
MR_LONGTERM_PIN,
MR_DEMOTION,
MR_TYPES
};
#endif /* MIGRATE_MODE_H_INCLUDED */