linux/include/linux/migrate_mode.h
<<
>>
Prefs
   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 * MIGRATE_SYNC_NO_COPY will block when migrating pages but will not copy pages
  11 *      with the CPU. Instead, page copy happens outside the migratepage()
  12 *      callback and is likely using a DMA engine. See migrate_vma() and HMM
  13 *      (mm/hmm.c) for users of this mode.
  14 */
  15enum migrate_mode {
  16        MIGRATE_ASYNC,
  17        MIGRATE_SYNC_LIGHT,
  18        MIGRATE_SYNC,
  19        MIGRATE_SYNC_NO_COPY,
  20};
  21
  22enum migrate_reason {
  23        MR_COMPACTION,
  24        MR_MEMORY_FAILURE,
  25        MR_MEMORY_HOTPLUG,
  26        MR_SYSCALL,             /* also applies to cpusets */
  27        MR_MEMPOLICY_MBIND,
  28        MR_NUMA_MISPLACED,
  29        MR_CONTIG_RANGE,
  30        MR_LONGTERM_PIN,
  31        MR_DEMOTION,
  32        MR_TYPES
  33};
  34
  35#endif          /* MIGRATE_MODE_H_INCLUDED */
  36