cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

migrate_mode.h (985B)


      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 */