/linux-6.12.1/Documentation/mm/ |
D | page_migration.rst | 2 Page migration 5 Page migration allows moving the physical location of pages between 13 The main intent of page migration is to reduce the latency of memory accesses 17 Page migration allows a process to manually relocate the node on which its 23 Page migration functions are provided by the numactl package by Andi Kleen 27 migration. cat ``/proc/<pid>/numa_maps`` allows an easy review of where the 31 Manual migration is useful if for example the scheduler has relocated 35 manual page migration support. Automatic page migration may be implemented 52 Page migration allows the preservation of the relative location of pages 53 within a group of nodes for all migration techniques which will preserve a [all …]
|
D | hmm.rst | 23 Finally, the last section presents a new migration helper that allows 104 Shared address space and migration 124 main memory to device memory using existing migration mechanisms and everything 128 memory for the device memory and second to perform migration. Policy decisions 131 Note that any CPU access to a device page triggers a page fault and a migration 134 address A triggers a page fault and initiates a migration back to main memory. 260 Migration to and from device memory 295 The overall migration steps are similar to migrating NUMA pages within system 303 be held for the duration of the migration. 336 the LRU), unmapped from the process, and a special migration PTE is [all …]
|
/linux-6.12.1/Documentation/ABI/testing/ |
D | debugfs-vfio | 10 What: /sys/kernel/debug/vfio/<device>/migration 15 of vfio devices that support live migration. 16 The debugfs of each vfio device that supports live migration 19 What: /sys/kernel/debug/vfio/<device>/migration/state 23 Description: Read the live migration status of the vfio device. 24 The contents of the state file reflects the migration state
|
D | sysfs-kernel-mm-numa | 11 Page migration during reclaim is intended for systems 16 Allowing page migration during reclaim enables these 18 when the fast tier is under pressure. This migration
|
/linux-6.12.1/tools/testing/selftests/kvm/ |
D | rseq_test.c | 33 * Any bug related to task migration is likely to be timing-dependent; perform 87 * that a migration may have occurred in between rseq and sched in migration_worker() 88 * CPU ID reads. An odd sequence count indicates a migration in migration_worker() 90 * a migration occurred since the count was last read. in migration_worker() 112 * 1. To allow sched_setaffinity() to prompt migration before in migration_worker() 129 * before the next round of migration. The test's check on in migration_worker() 130 * the rseq CPU ID must wait for migration to complete in in migration_worker() 132 * will be missed if the next migration starts before the in migration_worker() 193 "Only one usable CPU, task migration not possible"); in calc_min_max_cpu() 252 * Verify rseq's CPU matches sched's CPU. Ensure migration in main() [all …]
|
/linux-6.12.1/tools/testing/selftests/mm/ |
D | migration.c | 3 * The main purpose of the tests here is to exercise the migration entry code 23 FIXTURE(migration) in FIXTURE() argument 32 FIXTURE_SETUP(migration) in FIXTURE_SETUP() argument 57 FIXTURE_TEARDOWN(migration) in FIXTURE_TEARDOWN() argument 84 /* Migration is best effort; try again */ in migrate() 119 * Basic migration entry testing. One thread will move pages back and forth 121 * migration entry wait paths in the kernel. 123 TEST_F_TIMEOUT(migration, private_anon, 2*RUNTIME) 148 TEST_F_TIMEOUT(migration, shared_anon, 2*RUNTIME) 181 * Tests the pmd migration entry paths. [all …]
|
/linux-6.12.1/tools/testing/selftests/kvm/s390x/ |
D | cmma_test.c | 3 * Test for s390x CMMA migration 191 TEST_ASSERT(!r, "enabling migration mode failed r=%d errno=%d", r, errno); in enable_migration_mode() 204 TEST_ASSERT(!r, "getting migration mode status failed r=%d errno=%d", r, errno); in is_migration_mode_on() 243 /* GET_CMMA_BITS without migration mode and without peeking should fail */ in test_get_cmma_basic() 248 /* GET_CMMA_BITS without migration mode and with peeking should work */ in test_get_cmma_basic() 279 /* enabling migration mode on a VM without memory should fail */ in test_migration_mode() 283 TEST_ASSERT(!is_migration_mode_on(vm), "migration mode should still be off"); in test_migration_mode() 300 /* migration mode when memslots have dirty tracking off should fail */ in test_migration_mode() 304 TEST_ASSERT(!is_migration_mode_on(vm), "migration mode should still be off"); in test_migration_mode() 310 /* enabling migration mode should work now */ in test_migration_mode() [all …]
|
/linux-6.12.1/mm/ |
D | migrate_device.c | 3 * Device Memory Migration functionality. 173 * any kind of migration. Side effect is that it "freezes" the in migrate_vma_collect_pmd() 187 * migration as it is only best effort anyway. in migrate_vma_collect_pmd() 189 * If we can lock the folio it's safe to set up a migration entry in migrate_vma_collect_pmd() 191 * single process setting up the migration entry now is an in migrate_vma_collect_pmd() 222 /* Setup special migration page table entry */ in migrate_vma_collect_pmd() 290 * @migrate: migrate struct containing all migration information 322 * folio_migrate_mapping(), except that here we allow migration of a 359 * Unmaps pages for migration. Returns number of source pfns marked as 439 * migrate_vma_unmap() - replace page mapping with special migration pte entry [all …]
|
D | migrate.c | 3 * Memory Migration functionality - linux/mm/migrate.c 7 * Page migration was first developed in the context of the memory hotplug 8 * project. The main authors of the migration code are: 89 * compaction threads can race against page migration functions in isolate_movable_page() 93 * being (wrongly) re-isolated while it is under migration, in isolate_movable_page() 135 * from where they were once taken off for compaction/migration. 245 * Restore a potential migration pte to a working pte entry 267 /* PMD-mapped THP migration entry */ in remove_migration_pte() 353 * Get rid of all migration entries and replace them by 377 * Something used the pte of a page under migration. We need to [all …]
|
/linux-6.12.1/include/linux/ |
D | migrate.h | 17 * - negative errno on page migration failure; 18 * - zero on page migration success; 24 * struct movable_operations - Driver page migration 38 * If page migration is successful, the driver should call 41 * -EAGAIN. The VM interprets this as a temporary migration failure and 42 * will retry it later. Any other error value is a permanent migration 43 * failure and migration will not be retried. 48 * If migration fails on the isolated page, the VM informs the driver 49 * that the page is no longer a candidate for migration by calling
|
D | balloon_compaction.h | 7 * Balloon page migration makes use of the general non-lru movable page 11 * page->mapping is used in context of non-lru page migration to reference 12 * the address space operations for page isolation/migration/compaction. 17 * and safely perform balloon's page compaction and migration we must, always, 33 * compaction / migration. 51 * have to cope for page compaction / migration, as well as it serves the 55 unsigned long isolated_pages; /* # of isolated pages for migration */
|
D | vfio.h | 186 * struct vfio_migration_ops - VFIO bus device driver migration callbacks 188 * @migration_set_state: Optional callback to change the migration state for 189 * devices that support migration. It's mandatory for 190 * VFIO_DEVICE_FEATURE_MIGRATION migration support. 193 * of stream or error whenever the migration FSM leaves a data transfer 195 * @migration_get_state: Optional callback to get the migration state for 196 * devices that support migration. It's mandatory for 197 * VFIO_DEVICE_FEATURE_MIGRATION migration support. 200 * VFIO_DEVICE_FEATURE_MIGRATION migration support.
|
/linux-6.12.1/drivers/gpu/drm/i915/gem/selftests/ |
D | i915_gem_migrate.c | 137 * Migration will implicitly unbind (asynchronously) any bound in lmem_pages_migrate_one() 144 pr_err("Object failed migration to smem\n"); in lmem_pages_migrate_one() 163 pr_err("Object failed migration to lmem\n"); in lmem_pages_migrate_one() 269 /* Finally sync migration and check content. */ in __igt_lmem_pages_migrate() 360 * This subtest tests that unbinding at migration is indeed performed 362 * that spinner to have terminated. Before each migration we bind a 363 * vma, which should then be async unbound by the migration operation. 368 * Note that each async bind operation is awaiting the previous migration 369 * due to the moving fence resulting from the migration. 443 * arming the migration error check and block async migration. This
|
/linux-6.12.1/Documentation/networking/ |
D | net_failover.rst | 24 datapath. It also enables hypervisor controlled live migration of a VM with 65 be brought UP during live migration to allow uninterrupted communication. 113 Live Migration of a VM with SR-IOV VF & virtio-net in STANDBY mode 116 net_failover also enables hypervisor controlled live migration to be supported 120 Here is a sample script that shows the steps to initiate live migration from 165 # Clean up FDB entries after migration completes. 169 On the destination hypervisor, a shared bridge 'br0' is created before migration 173 The following script is executed on the destination hypervisor once migration
|
/linux-6.12.1/Documentation/admin-guide/cgroup-v1/ |
D | memcg_test.rst | 102 The logic is very clear. (About migration, see below) 129 7. Page Migration 162 9.3 Migration 165 For NUMA, migration is an another special case. To do easy test, cpuset 166 is useful. Following is a sample script to do migration:: 179 In above set, when you moves a task from 01 to 02, page migration to 211 This is an easy way to test page migration, too. 298 9.9 Move charges at task migration 301 Charges associated with a task can be moved along with task migration.
|
/linux-6.12.1/kernel/cgroup/ |
D | cgroup-internal.h | 108 /* used to track tasks and csets during migration */ 123 * Before migration is committed, the target migration tasks are on 126 * or ->dst_csets depending on whether migration is committed. 136 /* migration context also tracks preloading */ 140 * atomic success or failure on actual migration. 148 /* subsystems affected by migration */
|
/linux-6.12.1/Documentation/admin-guide/mm/ |
D | userfaultfd.rst | 295 the VM to another physical machine. Since we want the migration to be 304 migration. Postcopy live migration is one form of memory 309 migration to QEMU. 317 It is generally beneficial to run one pass of precopy live migration 318 just before starting postcopy live migration, in order to avoid 321 The implementation of postcopy live migration currently uses one 327 in the destination node, into the socket, and the migration thread of 337 by the parallel QEMU migration thread). 345 migration thread in the QEMU running in the destination node will 353 migration around and a single per-page bitmap has to be maintained in [all …]
|
/linux-6.12.1/kernel/time/ |
D | timer_migration.h | 22 * struct tmigr_group - timer migration hierarchy group 76 * struct tmigr_cpu - timer migration per CPU group 84 * idle before the timer migration hierarchy hotplug AP is 87 * @idle: Indicates whether the CPU is idle in the timer migration 92 * @wakeup: Stores the first timer when the timer migration
|
/linux-6.12.1/arch/powerpc/platforms/pseries/ |
D | vas.c | 433 * The migration SUSPEND thread sets migration_in_progress and in vas_allocate_window() 438 * initiates the migration. in vas_allocate_window() 533 * lost the credit or with migration. So just remove the entry in vas_deallocate_window() 677 * For partition migration, reopen all windows that are closed in reconfig_open_windows() 691 * Open windows if they are closed only with migration or in reconfig_open_windows() 701 * This window is closed with DLPAR and migration events. in reconfig_open_windows() 704 * migration notifier. So the user space can issue DLPAR in reconfig_open_windows() 705 * CPU hotplug while migration in progress. In this case in reconfig_open_windows() 777 * or for migration before. Go for next window. in reconfig_close_windows() 778 * For migration, nothing to do since this window in reconfig_close_windows() [all …]
|
/linux-6.12.1/drivers/vfio/pci/pds/ |
D | cmds.c | 192 dev_dbg(dev, "vf%u: Get migration status\n", pds_vfio->vf_id); in pds_vfio_get_lm_state_size_cmd() 295 dev_dbg(&pdev->dev, "vf%u: Get migration state\n", pds_vfio->vf_id); in pds_vfio_get_lm_state_cmd() 301 dev_err(&pdev->dev, "failed to map save migration file: %pe\n", in pds_vfio_get_lm_state_cmd() 311 dev_err(&pdev->dev, "failed to get migration state: %pe\n", in pds_vfio_get_lm_state_cmd() 333 dev_dbg(&pdev->dev, "vf%u: Set migration state\n", pds_vfio->vf_id); in pds_vfio_set_lm_state_cmd() 340 "failed to map restore migration file: %pe\n", in pds_vfio_set_lm_state_cmd() 350 dev_err(&pdev->dev, "failed to set migration state: %pe\n", in pds_vfio_set_lm_state_cmd() 376 dev_warn(dev, "Invalid host VF migration status, %d\n", in pds_vfio_send_host_vf_lm_status_cmd() 383 dev_warn(dev, "failed to send host VF migration status: %pe\n", in pds_vfio_send_host_vf_lm_status_cmd()
|
D | pci_drv.c | 25 * Documentation states that the kernel migration driver must not in pds_vfio_recovery() 31 * 1. Migration is in progress, which will cause the next step of in pds_vfio_recovery() 32 * the migration to fail. in pds_vfio_recovery() 62 * error and may cause migration to fail. in pds_vfio_pci_notify_handler()
|
/linux-6.12.1/include/uapi/linux/ |
D | vfio.h | 990 * Indicates the device can support the migration API through 1020 * Upon VFIO_DEVICE_FEATURE_SET, execute a migration state change on the VFIO 1024 * The kernel migration driver must fully transition the device to the new state 1027 * The kernel migration driver must not generate asynchronous device state 1039 * this FD when it is finished. The user must consider the migration data stream 1044 * Upon VFIO_DEVICE_FEATURE_GET, get the current migration state of the VFIO 1054 * The device migration Finite State Machine is described by the enum 1055 * vfio_device_mig_state. Some of the FSM arcs will create a migration data 1056 * transfer session by returning a FD, in this case the migration data will 1082 * migration driver must accept and respond to interaction to support external [all …]
|
/linux-6.12.1/Documentation/virt/kvm/devices/ |
D | vm.rst | 291 Allows userspace to stop migration mode, needed for PGSTE migration. 292 Setting this attribute when migration mode is not active will have no 301 Allows userspace to start migration mode, needed for PGSTE migration. 302 Setting this attribute when migration mode is already active will have 306 dirty tracking is disabled on any memslot, migration mode is automatically 310 :Returns: -ENOMEM if there is not enough free memory to start migration mode; 317 Allows userspace to query the status of migration mode. 320 the data itself is either 0 if migration mode is disabled or 1
|
/linux-6.12.1/tools/perf/scripts/python/bin/ |
D | sched-migration-report | 2 # description: sched migration overview 3 perf script $@ -s "$PERF_EXEC_PATH"/scripts/python/sched-migration.py
|
/linux-6.12.1/fs/ocfs2/dlm/ |
D | dlmmaster.c | 822 /* if there is a migration in progress, let the migration in dlm_get_lock_resource() 824 * of the MIGRATION mle: either the migrate finished or in dlm_get_lock_resource() 836 mig ? "MIGRATION" : "BLOCK"); in dlm_get_lock_resource() 1591 mlog(0, "migration mle was found (%u->%u)\n", in dlm_master_request_handler() 1824 " from %u for migration\n", in dlm_assert_master_handler() 1829 " from %u for migration, ignoring\n", in dlm_assert_master_handler() 1931 mlog(0, "finishing off migration of lockres %.*s, " in dlm_assert_master_handler() 1977 * ref given by the master / migration request message. in dlm_assert_master_handler() 2119 * prevent migration from starting while we're still asserting in dlm_assert_master_worker() 2120 * our dominance. The reserved ast delays migration. in dlm_assert_master_worker() [all …]
|