| /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_pf_migration.c | 38 return >->sriov.pf.vfs[vfid].migration; in pf_pick_gt_migration() 116 * xe_gt_sriov_pf_migration_ggtt_save() - Save VF GGTT migration data. 134 * xe_gt_sriov_pf_migration_ggtt_restore() - Restore VF GGTT migration data. 137 * @data: the &xe_sriov_packet containing migration data 303 * xe_gt_sriov_pf_migration_guc_save() - Save VF GuC migration data. 345 * xe_gt_sriov_pf_migration_guc_restore() - Restore VF GuC migration data. 348 * @data: the &xe_sriov_packet containing migration data 473 * xe_gt_sriov_pf_migration_mmio_save() - Save VF MMIO migration data. 491 * xe_gt_sriov_pf_migration_mmio_restore() - Restore VF MMIO migration data. 494 * @data: the &xe_sriov_packet containing migration data [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() 532 * This function can be called repeatedly from post migration fixups, in vf_get_ggtt_info() 534 * xe_ggtt_shift_nodes() may be called multiple times for each migration, in vf_get_ggtt_info() 845 WRITE_ONCE(gt->sriov.vf.migration.ggtt_need_fixes, false); in vf_post_migration_mark_fixups_done() 847 wake_up_all(>->sriov.vf.migration.wq); in vf_post_migration_mark_fixups_done() 856 spin_lock(>->sriov.vf.migration.lock); in vf_start_migration_recovery() 858 if (!gt->sriov.vf.migration.recovery_queued && in vf_start_migration_recovery() 859 !gt->sriov.vf.migration.recovery_teardown) { in vf_start_migration_recovery() 860 gt->sriov.vf.migration.recovery_queued = 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 */
|
| H A D | xe_sriov_vf_ccs_types.h | 21 * struct xe_sriov_vf_ccs_ctx - VF CCS migration context data. 27 /** @mig_q: exec queues used for migration */ 38 * struct xe_sriov_vf_ccs - The VF CCS migration support 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 61 FIXTURE_TEARDOWN(migration) in FIXTURE_TEARDOWN() 88 /* Migration is best effort; try again */ in migrate() 121 * Basic migration entry testing. One thread will move pages back and forth 123 * migration entry wait paths in the kernel. 125 TEST_F_TIMEOUT(migration, private_anon, 2*RUNTIME) 150 TEST_F_TIMEOUT(migration, shared_anon, 2*RUNTIME) 183 * Tests the pmd migration entr 60 FIXTURE_TEARDOWN(migration) FIXTURE_TEARDOWN() argument [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/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
|
| /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 378 * any kind of migration. Side effect is that it "freezes" the in migrate_vma_collect_pmd() 392 * migration as it is only best effort anyway. in migrate_vma_collect_pmd() 394 * If we can lock the folio it's safe to set up a migration entry in migrate_vma_collect_pmd() 396 * single process setting up the migration entry now is an in migrate_vma_collect_pmd() 428 /* 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_folio() - Put a migration folio 169 * drm_pagemap_migration_unlock_put_pages() - Put migration pages 219 * drm_pagemap_migrate_map_pages() - Map migration pages for GPU SVM migration 220 * @dev: The device performing the migration. 226 * @mdetails: Details governing the migration behaviour. 228 * 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/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/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()
|
| H A 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/Documentation/ABI/testing/ |
| H A 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/Documentation/virt/kvm/devices/ |
| H A 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/tools/perf/scripts/python/bin/ |
| H A D | sched-migration-report | 2 # description: sched migration overview 3 perf script $@ -s "$PERF_EXEC_PATH"/scripts/python/sched-migration.py
|
| /linux/drivers/vfio/pci/xe/ |
| H A D | Kconfig | 9 migration uAPI allowing userspace to enable migration for
|