| /linux/drivers/gpu/drm/xe/ |
| H A D | xe_sriov_pf_migration.c | 24 return &xe->sriov.pf.vfs[vfid].migration; in pf_pick_migration() 28 * xe_sriov_pf_migration_waitqueue() - Get waitqueue for migration. 32 * Return: pointer to the migration waitqueue. 40 * xe_sriov_pf_migration_supported() - Check if SR-IOV VF migration is supported by the device 43 * Return: true if migration is supported, false otherwise 49 return IS_ENABLED(CONFIG_DRM_XE_DEBUG) || !xe->sriov.pf.migration.disabled; in xe_sriov_pf_migration_supported() 53 * xe_sriov_pf_migration_disable() - Turn off SR-IOV VF migration support on PF. 67 xe_sriov_notice(xe, "migration %s: %pV\n", in xe_sriov_pf_migration_disable() 73 xe->sriov.pf.migration.disabled = true; in xe_sriov_pf_migration_disable() 84 struct xe_sriov_migration_state *migration = arg; in pf_migration_cleanup() local [all …]
|
| H A D | xe_gt_sriov_vf_types.h | 46 * struct xe_gt_sriov_vf_migration - VF migration data. 49 /** @worker: VF migration recovery worker */ 53 /** @wq: wait queue for migration fixes */ 57 /** @debug: Debug hooks for delaying migration */ 61 * during post migration recovery 66 * @resfix_marker: Marker sent on start and on end of post-migration 70 /** @recovery_teardown: VF post migration recovery is being torn down */ 72 /** @recovery_queued: VF post migration recovery in queued */ 74 /** @recovery_inprogress: VF post migration recovery in progress */ 92 /** @migration: migration data for the VF. */ [all …]
|
| H A D | xe_gt_sriov_vf.c | 56 while (gt->sriov.vf.migration.debug.resfix_stoppers & wait) { in vf_post_migration_inject_wait() 60 gt->sriov.vf.migration.debug.resfix_stoppers, wait); in vf_post_migration_inject_wait() 533 WRITE_ONCE(gt->sriov.vf.migration.ggtt_need_fixes, false); in vf_get_ggtt_info() 535 wake_up_all(>->sriov.vf.migration.wq); in vf_get_ggtt_info() 848 spin_lock(>->sriov.vf.migration.lock); in vf_start_migration_recovery() 850 if (!gt->sriov.vf.migration.recovery_queued && in vf_start_migration_recovery() 851 !gt->sriov.vf.migration.recovery_teardown) { in vf_start_migration_recovery() 852 gt->sriov.vf.migration.recovery_queued = true; in vf_start_migration_recovery() 853 WRITE_ONCE(gt->sriov.vf.migration.recovery_inprogress, true); in vf_start_migration_recovery() 854 WRITE_ONCE(gt->sriov.vf.migration.ggtt_need_fixes, true); in vf_start_migration_recovery() [all …]
|
| H A D | xe_sriov_packet.c | 20 return &xe->sriov.pf.vfs[vfid].migration.lock; in pf_migration_mutex() 29 return &xe->sriov.pf.vfs[vfid].migration.pending; in pf_pick_pending() 39 return &xe->sriov.pf.vfs[vfid].migration.descriptor; in pf_pick_descriptor() 48 return &xe->sriov.pf.vfs[vfid].migration.trailer; in pf_pick_trailer() 79 * xe_sriov_packet_alloc() - Allocate migration data packet 82 * Only allocates the "outer" structure, without initializing the migration 103 * xe_sriov_packet_free() - Free migration data packet. 156 * xe_sriov_packet_init() - Initialize migration packet header and backing storage. 181 * xe_sriov_packet_init_from_hdr() - Initialize migration packet backing storage based on header. 252 * xe_sriov_packet_read_single() - Read migration data from a single packet. [all …]
|
| H A D | xe_sriov_pf_migration_types.h | 14 * struct xe_sriov_pf_migration - Xe device level VF migration data 17 /** @disabled: indicates whether VF migration feature is disabled */ 22 * struct xe_sriov_migration_state - Per VF device-level migration related data 27 /** @lock: Mutex protecting the migration data */
|
| /linux/tools/testing/selftests/mm/ |
| H A D | migration.c | 3 * The main purpose of the tests here is to exercise the migration entry code 26 FIXTURE(migration) in FIXTURE() argument 35 FIXTURE_SETUP(migration) in FIXTURE_SETUP() argument 60 FIXTURE_TEARDOWN(migration) in FIXTURE_TEARDOWN() argument 87 /* Migration is best effort; try again */ in migrate() 120 * Basic migration entry testing. One thread will move pages back and forth 122 * migration entry wait paths in the kernel. 124 TEST_F_TIMEOUT(migration, private_anon, 2*RUNTIME) 149 TEST_F_TIMEOUT(migration, shared_anon, 2*RUNTIME) 182 * Tests the pmd migration entry paths. [all …]
|
| /linux/include/linux/ |
| H A D | leafops.h | 23 /* Migration types. */ 194 * softleaf_is_migration_write() - Is this leaf entry a writable migration entry? 197 * Returns: true if the leaf entry is a writable migration entry, otherwise 206 * softleaf_is_migration_read() - Is this leaf entry a readable migration entry? 209 * Returns: true if the leaf entry is a readable migration entry, otherwise 219 * readable migration entry? 222 * Returns: true if the leaf entry is an exclusive readable migration entry, 231 * softleaf_is_migration() - Is this leaf entry a migration entry? 234 * Returns: true if the leaf entry is a migration entry, otherwise false. 330 * memory, to restrict access to a page undergoing migration or to represent a [all …]
|
| H A D | migrate.h | 16 * struct movable_operations - Driver page migration 30 * If page migration is successful, the driver should return 0. 32 * -EAGAIN. The VM interprets this as a temporary migration failure and 33 * will retry it later. Any other error value is a permanent migration 34 * failure and migration will not be retried. 39 * If migration fails on the isolated page, the VM informs the driver 40 * that the page is no longer a candidate for migration by calling
|
| H A D | vfio.h | 208 * struct vfio_migration_ops - VFIO bus device driver migration callbacks 210 * @migration_set_state: Optional callback to change the migration state for 211 * devices that support migration. It's mandatory for 212 * VFIO_DEVICE_FEATURE_MIGRATION migration support. 215 * of stream or error whenever the migration FSM leaves a data transfer 217 * @migration_get_state: Optional callback to get the migration state for 218 * devices that support migration. It's mandatory for 219 * VFIO_DEVICE_FEATURE_MIGRATION migration support. 222 * VFIO_DEVICE_FEATURE_MIGRATION migration support.
|
| /linux/include/drm/intel/ |
| H A D | xe_sriov_vfio.h | 23 * xe_sriov_vfio_migration_supported() - Check if migration is supported. 26 * Return: true if migration is supported, false otherwise. 65 * xe_sriov_vfio_stop_copy_enter() - Initiate a VF device migration data save. 74 * xe_sriov_vfio_stop_copy_exit() - Finish a VF device migration data save. 83 * xe_sriov_vfio_resume_data_enter() - Initiate a VF device migration data restore. 92 * xe_sriov_vfio_resume_data_exit() - Finish a VF device migration data restore. 112 * xe_sriov_vfio_data_read() - Read migration data from the VF device. 119 * 0 if no more migration data is available, -errno on failure. 124 * xe_sriov_vfio_data_write() - Write migration data to the VF device. 135 * xe_sriov_vfio_stop_copy_size() - Get a size estimate of VF device migration data. [all …]
|
| /linux/tools/testing/selftests/kvm/ |
| H A 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() 269 * Verify rseq's CPU matches sched's CPU. Ensure migration in main() [all …]
|
| /linux/tools/testing/selftests/kvm/s390/ |
| H A 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 mod in test_migration_mode() [all...] |
| /linux/Documentation/gpu/rfc/ |
| H A D | gpusvm.rst | 11 * Rely only on core MM concepts (migration PTEs, page references, and 20 * Partial migration is supported (i.e., a subset of pages attempting to 43 exception is holding a BO's dma-resv lock during the initial migration 47 migration policy requiring GPU access to occur in GPU memory. 89 :doc: Migration 113 * Higher order dma mapping for migration 114 * 4k dma mapping adversely affects migration performance on Intel 117 * Driver side madvise implementation and migration policies
|
| /linux/mm/ |
| H A 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: 86 * If we enable page migration for a page of a certain type by marking in page_movable_ops() 91 /* Only balloon page migration sets PageOffline pages movable. */ in page_movable_ops() 100 * isolate_movable_ops_page - isolate a movable_ops page for migration 104 * Try to isolate a movable_ops page for migration. Will fail if the page is 105 * not a movable_ops page, if the page is already isolated for migration 147 * compaction threads can race against page migration functions in isolate_movable_ops_page() 151 * being (wrongly) re-isolated while it is under migration, in isolate_movable_ops_page() [all …]
|
| H A D | migrate_device.c | 3 * Device Memory Migration functionality. 127 * @start: start address of the range for migration 128 * @end: end address of the range for migration 132 * Collect the huge pmd entry at @pmdp for migration and set the 134 * migration will occur at HPAGE_PMD granularity 384 * any kind of migration. Side effect is that it "freezes" the in migrate_vma_collect_pmd() 398 * migration as it is only best effort anyway. in migrate_vma_collect_pmd() 400 * If we can lock the folio it's safe to set up a migration entry in migrate_vma_collect_pmd() 402 * single process setting up the migration entry now is an in migrate_vma_collect_pmd() 434 /* Setup special migration page table entry */ in migrate_vma_collect_pmd() [all …]
|
| /linux/drivers/gpu/drm/i915/gem/selftests/ |
| H A 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/Documentation/networking/ |
| H A 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. 112 Live Migration of a VM with SR-IOV VF & virtio-net in STANDBY mode 115 net_failover also enables hypervisor controlled live migration to be supported 119 Here is a sample script that shows the steps to initiate live migration from 164 # Clean up FDB entries after migration completes. 168 On the destination hypervisor, a shared bridge 'br0' is created before migration 172 The following script is executed on the destination hypervisor once migration
|
| /linux/drivers/gpu/drm/ |
| H A D | drm_pagemap.c | 22 * to handle access (and in the future migration) between devices implementing 28 * migration is best effort only and may thus fail. The implementation should 34 * DOC: Migration 36 * Migration granularity typically follows the GPU SVM range requests, but 157 * drm_pagemap_migration_unlock_put_page() - Put a migration page 169 * drm_pagemap_migration_unlock_put_pages() - Put migration pages 208 * drm_pagemap_migrate_map_pages() - Map migration pages for GPU SVM migration 209 * @dev: The device performing the migration. 215 * @mdetails: Details governing the migration behaviour. 217 * This function maps pages of memory for migration usage in GPU SVM. It [all …]
|
| /linux/Documentation/arch/powerpc/ |
| H A D | vpa-dtl.rst | 149 …migration/9 67 [009] 105373.359903: sched:sched_waking: comm=perf pid=134… 150 …migration/9 67 [009] 105373.359904: sched:sched_migrate_task: comm=perf pid=134… 151 …migration/9 67 [009] 105373.359907: sched:sched_stat_runtime: comm=migration/9 … 152 …migration/9 67 [009] 105373.359908: sched:sched_switch: prev_comm=migrati… 156 …13418 [010] 105373.360052: sched:sched_waking: comm=migration/10 pid=72 prio=0…
|
| /linux/Documentation/admin-guide/cgroup-v1/ |
| H A 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/include/drm/ |
| H A D | drm_pagemap.h | 181 * allocations and perform operations such as migration between device memory and system 195 * @populate_devmem_pfn: Populate device memory PFN (required for migration) 208 * @copy_to_devmem: Copy to device memory (required for migration) 212 * @pre_migrate_fence: dma-fence to wait for before migration start. 227 * @copy_to_ram: Copy to system RAM (required for migration) 231 * @pre_migrate_fence: dma-fence to wait for before migration start. 313 * @pre_migrate_fence: Fence to wait for or pipeline behind before migration starts. 328 * struct drm_pagemap_migrate_details - Details to govern migration. 334 * @source_peer_migrates: Whether on p2p migration, The source drm_pagemap
|
| /linux/Documentation/admin-guide/mm/ |
| H A 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/kernel/cgroup/ |
| H A 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/arch/powerpc/platforms/pseries/ |
| H A 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/drivers/vfio/pci/pds/ |
| H A 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()
|