Home
last modified time | relevance | path

Searched full:migration (Results 1 – 25 of 445) sorted by relevance

12345678910>>...18

/linux/drivers/gpu/drm/xe/
H A Dxe_sriov_pf_migration.c24 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 Dxe_gt_sriov_vf_types.h46 * 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 Dxe_gt_sriov_vf.c56 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(&gt->sriov.vf.migration.wq); in vf_get_ggtt_info()
848 spin_lock(&gt->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 Dxe_sriov_packet.c20 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 Dxe_sriov_pf_migration_types.h14 * 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 Dmigration.c3 * 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 Dleafops.h23 /* 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 Dmigrate.h16 * 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 Dvfio.h208 * 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 Dxe_sriov_vfio.h23 * 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 Drseq_test.c33 * 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 Dcmma_test.c3 * 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 Dgpusvm.rst11 * 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 Dmigrate.c3 * 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 Dmigrate_device.c3 * 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 Di915_gem_migrate.c137 * 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 Dnet_failover.rst24 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 Ddrm_pagemap.c22 * 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 Dvpa-dtl.rst149migration/9 67 [009] 105373.359903: sched:sched_waking: comm=perf pid=134…
150migration/9 67 [009] 105373.359904: sched:sched_migrate_task: comm=perf pid=134…
151migration/9 67 [009] 105373.359907: sched:sched_stat_runtime: comm=migration/9 …
152migration/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 Dmemcg_test.rst102 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 Ddrm_pagemap.h181 * 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 Duserfaultfd.rst295 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 Dcgroup-internal.h108 /* 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 Dvas.c433 * 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 Dcmds.c192 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()

12345678910>>...18