arch/arm64/kvm/arm.c
2431
init_psci_0_1_impl_state(kvm_host_psci_config, migrate);
arch/arm64/kvm/hyp/nvhe/psci-relay.c
242
if (is_psci_0_1(cpu_off, func_id) || is_psci_0_1(migrate, func_id))
arch/arm64/kvm/hyp/nvhe/psci-relay.c
54
is_psci_0_1(migrate, func_id));
arch/powerpc/platforms/pseries/vas.c
652
bool migrate)
arch/powerpc/platforms/pseries/vas.c
680
if ((vcaps->nr_close_wins > creds) && !migrate)
arch/powerpc/platforms/pseries/vas.c
694
if (migrate)
arch/powerpc/platforms/pseries/vas.c
762
bool migrate)
arch/powerpc/platforms/pseries/vas.c
769
if (migrate)
arch/powerpc/platforms/pseries/vas.c
827
if (rc && !migrate)
arch/powerpc/platforms/pseries/vas.c
839
if (!migrate && !--excess_creds)
drivers/firmware/psci/psci.c
245
return __psci_migrate(psci_0_1_function_ids.migrate, cpuid);
drivers/firmware/psci/psci.c
677
.migrate = psci_0_2_migrate,
drivers/firmware/psci/psci.c
776
psci_0_1_function_ids.migrate = id;
drivers/firmware/psci/psci.c
777
psci_ops.migrate = psci_0_1_migrate;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
270
static unsigned long svm_migrate_successful_pages(struct migrate_vma *migrate)
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
275
for (i = 0; i < migrate->npages; i++) {
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
276
if (migrate->dst[i] & MIGRATE_PFN_VALID &&
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
277
migrate->src[i] & MIGRATE_PFN_MIGRATE)
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
285
struct migrate_vma *migrate, struct dma_fence **mfence,
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
288
u64 npages = migrate->npages;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
306
for (i = j = 0; (i < npages) && (mpages < migrate->cpages); i++) {
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
309
if (migrate->src[i] & MIGRATE_PFN_MIGRATE) {
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
311
migrate->dst[i] = svm_migrate_addr_to_pfn(adev, dst[i]);
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
312
svm_migrate_get_vram_page(prange, migrate->dst[i]);
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
313
migrate->dst[i] = migrate_pfn(migrate->dst[i]);
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
316
spage = migrate_pfn_to_page(migrate->src[i]);
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
370
migrate->dst[i] = 0;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
380
migrate->dst[i] = 0;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
382
migrate->dst[i + 1] = 0;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
384
migrate->dst[i + 2] = 0;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
386
migrate->dst[i + 3] = 0;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
403
struct migrate_vma migrate = { 0 };
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
410
memset(&migrate, 0, sizeof(migrate));
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
411
migrate.vma = vma;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
412
migrate.start = start;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
413
migrate.end = end;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
414
migrate.flags = MIGRATE_VMA_SELECT_SYSTEM;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
415
migrate.pgmap_owner = SVM_ADEV_PGMAP_OWNER(adev);
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
418
2 * sizeof(*migrate.src) + sizeof(u64) + sizeof(dma_addr_t),
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
423
migrate.src = buf;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
424
migrate.dst = migrate.src + npages;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
425
scratch = (dma_addr_t *)(migrate.dst + npages);
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
432
r = migrate_vma_setup(&migrate);
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
439
cpages = migrate.cpages;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
451
r = svm_migrate_copy_to_vram(node, prange, &migrate, &mfence, scratch, ttm_res_offset);
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
452
migrate_vma_pages(&migrate);
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
455
migrate_vma_finalize(&migrate);
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
457
mpages = svm_migrate_successful_pages(&migrate);
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
459
mpages, cpages, migrate.npages);
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
590
struct migrate_vma *migrate, struct dma_fence **mfence,
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
604
addr = migrate->start;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
612
spage = migrate_pfn_to_page(migrate->src[i]);
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
638
dpage = svm_migrate_get_sys_page(migrate->vma, addr);
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
656
migrate->dst[i] = migrate_pfn(page_to_pfn(dpage));
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
668
migrate->dst[i] = 0;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
704
struct migrate_vma migrate = { 0 };
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
709
memset(&migrate, 0, sizeof(migrate));
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
710
migrate.vma = vma;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
711
migrate.start = start;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
712
migrate.end = end;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
713
migrate.pgmap_owner = SVM_ADEV_PGMAP_OWNER(adev);
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
715
migrate.flags = MIGRATE_VMA_SELECT_DEVICE_COHERENT;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
717
migrate.flags = MIGRATE_VMA_SELECT_DEVICE_PRIVATE;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
720
2 * sizeof(*migrate.src) + sizeof(u64) + sizeof(dma_addr_t),
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
725
migrate.src = buf;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
726
migrate.dst = migrate.src + npages;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
727
migrate.fault_page = fault_page;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
728
scratch = (dma_addr_t *)(migrate.dst + npages);
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
735
r = migrate_vma_setup(&migrate);
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
742
cpages = migrate.cpages;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
754
r = svm_migrate_copy_to_ram(adev, prange, &migrate, &mfence,
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
756
migrate_vma_pages(&migrate);
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
758
mpages = svm_migrate_successful_pages(&migrate);
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
760
mpages, cpages, migrate.npages);
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
763
migrate_vma_finalize(&migrate);
drivers/gpu/drm/drm_pagemap.c
1221
struct migrate_vma migrate = {
drivers/gpu/drm/drm_pagemap.c
1253
migrate.start = start;
drivers/gpu/drm/drm_pagemap.c
1254
migrate.end = end;
drivers/gpu/drm/drm_pagemap.c
1257
buf = kvcalloc(npages, 2 * sizeof(*migrate.src) + sizeof(*pagemap_addr) +
drivers/gpu/drm/drm_pagemap.c
1263
pagemap_addr = buf + (2 * sizeof(*migrate.src) * npages);
drivers/gpu/drm/drm_pagemap.c
1264
pages = buf + (2 * sizeof(*migrate.src) + sizeof(*pagemap_addr)) * npages;
drivers/gpu/drm/drm_pagemap.c
1266
migrate.vma = vas;
drivers/gpu/drm/drm_pagemap.c
1267
migrate.src = buf;
drivers/gpu/drm/drm_pagemap.c
1268
migrate.dst = migrate.src + npages;
drivers/gpu/drm/drm_pagemap.c
1270
err = migrate_vma_setup(&migrate);
drivers/gpu/drm/drm_pagemap.c
1275
if (!migrate.cpages)
drivers/gpu/drm/drm_pagemap.c
1282
migrate.src, migrate.dst,
drivers/gpu/drm/drm_pagemap.c
1288
migrate.dst, npages,
drivers/gpu/drm/drm_pagemap.c
1296
pages[i] = migrate_pfn_to_page(migrate.src[i]);
drivers/gpu/drm/drm_pagemap.c
1309
drm_pagemap_migration_unlock_put_pages(npages, migrate.dst);
drivers/gpu/drm/drm_pagemap.c
1310
migrate_vma_pages(&migrate);
drivers/gpu/drm/drm_pagemap.c
1311
migrate_vma_finalize(&migrate);
drivers/gpu/drm/drm_pagemap.c
1313
drm_pagemap_migrate_unmap_pages(dev, pagemap_addr, migrate.dst,
drivers/gpu/drm/drm_pagemap.c
624
struct migrate_vma migrate = {
drivers/gpu/drm/drm_pagemap.c
663
buf = kvcalloc(npages, 2 * sizeof(*migrate.src) + sizeof(*pagemap_addr) +
drivers/gpu/drm/drm_pagemap.c
669
pagemap_addr = buf + (2 * sizeof(*migrate.src) * npages);
drivers/gpu/drm/drm_pagemap.c
670
pages = buf + (2 * sizeof(*migrate.src) + sizeof(*pagemap_addr)) * npages;
drivers/gpu/drm/drm_pagemap.c
680
migrate.vma = vas;
drivers/gpu/drm/drm_pagemap.c
681
migrate.src = buf;
drivers/gpu/drm/drm_pagemap.c
682
migrate.dst = migrate.src + npages;
drivers/gpu/drm/drm_pagemap.c
684
err = migrate_vma_setup(&migrate);
drivers/gpu/drm/drm_pagemap.c
688
if (!migrate.cpages) {
drivers/gpu/drm/drm_pagemap.c
694
if (migrate.cpages != npages &&
drivers/gpu/drm/drm_pagemap.c
695
drm_pagemap_cpages(migrate.src, npages) != npages) {
drivers/gpu/drm/drm_pagemap.c
706
struct page *src_page = migrate_pfn_to_page(migrate.src[i]);
drivers/gpu/drm/drm_pagemap.c
729
err = ops->populate_devmem_pfn(devmem_allocation, npages, migrate.dst);
drivers/gpu/drm/drm_pagemap.c
739
struct page *page = pfn_to_page(migrate.dst[i]);
drivers/gpu/drm/drm_pagemap.c
740
struct page *src_page = migrate_pfn_to_page(migrate.src[i]);
drivers/gpu/drm/drm_pagemap.c
751
migrate.dst[i] = 0;
drivers/gpu/drm/drm_pagemap.c
766
migrate.dst[i] = migrate_pfn(migrate.dst[i]);
drivers/gpu/drm/drm_pagemap.c
768
if (migrate.src[i] & MIGRATE_PFN_COMPOUND) {
drivers/gpu/drm/drm_pagemap.c
774
migrate.dst[i] |= MIGRATE_PFN_COMPOUND;
drivers/gpu/drm/drm_pagemap.c
777
migrate.dst[i + j] = 0;
drivers/gpu/drm/drm_pagemap.c
783
err = drm_pagemap_migrate_range(devmem_allocation, migrate.src, migrate.dst,
drivers/gpu/drm/drm_pagemap.c
797
err = drm_pagemap_migrate_range(devmem_allocation, migrate.src, migrate.dst,
drivers/gpu/drm/drm_pagemap.c
813
drm_pagemap_migration_unlock_put_pages(npages, migrate.dst);
drivers/gpu/drm/drm_pagemap.c
815
migrate.dst[i] = 0;
drivers/gpu/drm/drm_pagemap.c
818
migrate_vma_pages(&migrate);
drivers/gpu/drm/drm_pagemap.c
821
struct page *page = migrate_pfn_to_page(migrate.src[i]);
drivers/gpu/drm/drm_pagemap.c
824
if (migrate.src[i] & MIGRATE_PFN_MIGRATE)
drivers/gpu/drm/drm_pagemap.c
835
migrate_vma_finalize(&migrate);
drivers/gpu/drm/i915/gem/i915_gem_object.c
685
if (!obj->ops->migrate)
drivers/gpu/drm/i915/gem/i915_gem_object.c
779
if (!obj->ops->migrate) {
drivers/gpu/drm/i915/gem/i915_gem_object.c
785
return obj->ops->migrate(obj, mr, flags);
drivers/gpu/drm/i915/gem/i915_gem_object_types.h
110
int (*migrate)(struct drm_i915_gem_object *obj,
drivers/gpu/drm/i915/gem/i915_gem_ttm.c
1241
.migrate = i915_ttm_migrate,
drivers/gpu/drm/i915/gem/i915_gem_ttm_move.c
202
if (!to_gt(i915)->migrate.context || intel_gt_is_wedged(to_gt(i915)))
drivers/gpu/drm/i915/gem/i915_gem_ttm_move.c
215
intel_engine_pm_get(to_gt(i915)->migrate.context->engine);
drivers/gpu/drm/i915/gem/i915_gem_ttm_move.c
216
ret = intel_context_migrate_clear(to_gt(i915)->migrate.context, deps,
drivers/gpu/drm/i915/gem/i915_gem_ttm_move.c
229
intel_engine_pm_get(to_gt(i915)->migrate.context->engine);
drivers/gpu/drm/i915/gem/i915_gem_ttm_move.c
230
ret = intel_context_migrate_copy(to_gt(i915)->migrate.context,
drivers/gpu/drm/i915/gem/i915_gem_ttm_move.c
242
intel_engine_pm_put(to_gt(i915)->migrate.context->engine);
drivers/gpu/drm/i915/gem/selftests/i915_gem_migrate.c
221
err = intel_migrate_clear(>->migrate, &ww, deps,
drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c
1229
err = intel_context_migrate_clear(to_gt(i915)->migrate.context, NULL,
drivers/gpu/drm/i915/gt/intel_gt.c
742
intel_migrate_init(>->migrate, gt);
drivers/gpu/drm/i915/gt/intel_gt.c
768
intel_migrate_fini(>->migrate);
drivers/gpu/drm/i915/gt/intel_gt_types.h
237
struct intel_migrate migrate;
drivers/gpu/drm/i915/gt/intel_migrate.c
699
GEM_BUG_ON(ce->vm != ce->engine->gt->migrate.context->vm);
drivers/gpu/drm/i915/gt/intel_migrate.c
998
GEM_BUG_ON(ce->vm != ce->engine->gt->migrate.context->vm);
drivers/gpu/drm/i915/gt/selftest_migrate.c
1001
err = __perf_copy_blt(gt->migrate.context,
drivers/gpu/drm/i915/gt/selftest_migrate.c
1035
if (!gt->migrate.context)
drivers/gpu/drm/i915/gt/selftest_migrate.c
151
GEM_BUG_ON(ce->vm != ce->engine->gt->migrate.context->vm);
drivers/gpu/drm/i915/gt/selftest_migrate.c
255
static int clear(struct intel_migrate *migrate,
drivers/gpu/drm/i915/gt/selftest_migrate.c
256
int (*fn)(struct intel_migrate *migrate,
drivers/gpu/drm/i915/gt/selftest_migrate.c
263
struct drm_i915_private *i915 = migrate->context->engine->i915;
drivers/gpu/drm/i915/gt/selftest_migrate.c
301
err = intel_migrate_ccs_copy(migrate, &ww, NULL,
drivers/gpu/drm/i915/gt/selftest_migrate.c
318
err = fn(migrate, &ww, obj, val, &rq);
drivers/gpu/drm/i915/gt/selftest_migrate.c
352
err = intel_migrate_ccs_copy(migrate, &ww, NULL,
drivers/gpu/drm/i915/gt/selftest_migrate.c
36
static int copy(struct intel_migrate *migrate,
drivers/gpu/drm/i915/gt/selftest_migrate.c
37
int (*fn)(struct intel_migrate *migrate,
drivers/gpu/drm/i915/gt/selftest_migrate.c
410
static int __migrate_copy(struct intel_migrate *migrate,
drivers/gpu/drm/i915/gt/selftest_migrate.c
416
return intel_migrate_copy(migrate, ww, NULL,
drivers/gpu/drm/i915/gt/selftest_migrate.c
424
static int __global_copy(struct intel_migrate *migrate,
drivers/gpu/drm/i915/gt/selftest_migrate.c
430
return intel_context_migrate_copy(migrate->context, NULL,
drivers/gpu/drm/i915/gt/selftest_migrate.c
439
migrate_copy(struct intel_migrate *migrate, u32 sz, struct rnd_state *prng)
drivers/gpu/drm/i915/gt/selftest_migrate.c
44
struct drm_i915_private *i915 = migrate->context->engine->i915;
drivers/gpu/drm/i915/gt/selftest_migrate.c
441
return copy(migrate, __migrate_copy, sz, prng);
drivers/gpu/drm/i915/gt/selftest_migrate.c
445
global_copy(struct intel_migrate *migrate, u32 sz, struct rnd_state *prng)
drivers/gpu/drm/i915/gt/selftest_migrate.c
447
return copy(migrate, __global_copy, sz, prng);
drivers/gpu/drm/i915/gt/selftest_migrate.c
450
static int __migrate_clear(struct intel_migrate *migrate,
drivers/gpu/drm/i915/gt/selftest_migrate.c
456
return intel_migrate_clear(migrate, ww, NULL,
drivers/gpu/drm/i915/gt/selftest_migrate.c
463
static int __global_clear(struct intel_migrate *migrate,
drivers/gpu/drm/i915/gt/selftest_migrate.c
469
return intel_context_migrate_clear(migrate->context, NULL,
drivers/gpu/drm/i915/gt/selftest_migrate.c
477
migrate_clear(struct intel_migrate *migrate, u32 sz, struct rnd_state *prng)
drivers/gpu/drm/i915/gt/selftest_migrate.c
479
return clear(migrate, __migrate_clear, sz, prng);
drivers/gpu/drm/i915/gt/selftest_migrate.c
483
global_clear(struct intel_migrate *migrate, u32 sz, struct rnd_state *prng)
drivers/gpu/drm/i915/gt/selftest_migrate.c
485
return clear(migrate, __global_clear, sz, prng);
drivers/gpu/drm/i915/gt/selftest_migrate.c
491
struct intel_migrate *migrate = >->migrate;
drivers/gpu/drm/i915/gt/selftest_migrate.c
492
struct drm_i915_private *i915 = migrate->context->engine->i915;
drivers/gpu/drm/i915/gt/selftest_migrate.c
499
err = migrate_copy(migrate, sizes[i], &prng);
drivers/gpu/drm/i915/gt/selftest_migrate.c
501
err = global_copy(migrate, sizes[i], &prng);
drivers/gpu/drm/i915/gt/selftest_migrate.c
513
struct intel_migrate *migrate = >->migrate;
drivers/gpu/drm/i915/gt/selftest_migrate.c
514
struct drm_i915_private *i915 = migrate->context->engine->i915;
drivers/gpu/drm/i915/gt/selftest_migrate.c
521
err = migrate_clear(migrate, sizes[i], &prng);
drivers/gpu/drm/i915/gt/selftest_migrate.c
523
err = global_clear(migrate, sizes[i], &prng);
drivers/gpu/drm/i915/gt/selftest_migrate.c
549
struct intel_migrate *migrate = >->migrate;
drivers/gpu/drm/i915/gt/selftest_migrate.c
550
struct drm_i915_private *i915 = migrate->context->engine->i915;
drivers/gpu/drm/i915/gt/selftest_migrate.c
578
ce = intel_migrate_create_context(migrate);
drivers/gpu/drm/i915/gt/selftest_migrate.c
677
struct intel_migrate *migrate;
drivers/gpu/drm/i915/gt/selftest_migrate.c
682
static int threaded_migrate(struct intel_migrate *migrate,
drivers/gpu/drm/i915/gt/selftest_migrate.c
699
thread[i].migrate = migrate;
drivers/gpu/drm/i915/gt/selftest_migrate.c
720
msleep((intel_vm_no_concurrent_access_wa(migrate->context->vm->i915) ? 100 : 10) * n_cpus);
drivers/gpu/drm/i915/gt/selftest_migrate.c
742
return migrate_copy(tm->migrate, 2 * CHUNK_SZ, &tm->prng);
drivers/gpu/drm/i915/gt/selftest_migrate.c
748
struct intel_migrate *migrate = >->migrate;
drivers/gpu/drm/i915/gt/selftest_migrate.c
750
return threaded_migrate(migrate, __thread_migrate_copy, 0);
drivers/gpu/drm/i915/gt/selftest_migrate.c
757
return global_copy(tm->migrate, 2 * CHUNK_SZ, &tm->prng);
drivers/gpu/drm/i915/gt/selftest_migrate.c
763
struct intel_migrate *migrate = >->migrate;
drivers/gpu/drm/i915/gt/selftest_migrate.c
765
return threaded_migrate(migrate, __thread_global_copy, 0);
drivers/gpu/drm/i915/gt/selftest_migrate.c
772
return migrate_clear(tm->migrate, 2 * CHUNK_SZ, &tm->prng);
drivers/gpu/drm/i915/gt/selftest_migrate.c
779
return global_clear(tm->migrate, 2 * CHUNK_SZ, &tm->prng);
drivers/gpu/drm/i915/gt/selftest_migrate.c
785
struct intel_migrate *migrate = >->migrate;
drivers/gpu/drm/i915/gt/selftest_migrate.c
787
return threaded_migrate(migrate, __thread_migrate_clear, 0);
drivers/gpu/drm/i915/gt/selftest_migrate.c
793
struct intel_migrate *migrate = >->migrate;
drivers/gpu/drm/i915/gt/selftest_migrate.c
795
return threaded_migrate(migrate, __thread_global_clear, 0);
drivers/gpu/drm/i915/gt/selftest_migrate.c
811
if (!gt->migrate.context)
drivers/gpu/drm/i915/gt/selftest_migrate.c
90
err = fn(migrate, &ww, src, dst, &rq);
drivers/gpu/drm/i915/gt/selftest_migrate.c
910
err = __perf_clear_blt(gt->migrate.context,
drivers/gpu/drm/i915/selftests/i915_live_selftests.h
30
selftest(migrate, intel_migrate_live_selftests)
drivers/gpu/drm/i915/selftests/i915_perf_selftests.h
20
selftest(migrate, intel_migrate_perf_selftests)
drivers/gpu/drm/i915/selftests/intel_memory_region.c
1064
err = intel_context_migrate_clear(engine->gt->migrate.context, NULL,
drivers/gpu/drm/nouveau/nouveau_dmem.c
171
if (drm->dmem->migrate.copy_func(drm, folio_nr_pages(sfolio),
drivers/gpu/drm/nouveau/nouveau_dmem.c
267
nouveau_fence_new(&fence, dmem->migrate.chan);
drivers/gpu/drm/nouveau/nouveau_dmem.c
517
nouveau_fence_new(&fence, chunk->drm->dmem->migrate.chan);
drivers/gpu/drm/nouveau/nouveau_dmem.c
558
struct nvif_push *push = &drm->dmem->migrate.chan->chan.push;
drivers/gpu/drm/nouveau/nouveau_dmem.c
631
struct nvif_push *push = &drm->dmem->migrate.chan->chan.push;
drivers/gpu/drm/nouveau/nouveau_dmem.c
691
drm->dmem->migrate.copy_func = nvc0b5_migrate_copy;
drivers/gpu/drm/nouveau/nouveau_dmem.c
692
drm->dmem->migrate.clear_func = nvc0b5_migrate_clear;
drivers/gpu/drm/nouveau/nouveau_dmem.c
693
drm->dmem->migrate.chan = drm->ttm.chan;
drivers/gpu/drm/nouveau/nouveau_dmem.c
753
if (drm->dmem->migrate.copy_func(drm, folio_nr_pages(page_folio(spage)),
drivers/gpu/drm/nouveau/nouveau_dmem.c
759
if (drm->dmem->migrate.clear_func(drm, page_size(dpage),
drivers/gpu/drm/nouveau/nouveau_dmem.c
809
nouveau_fence_new(&fence, drm->dmem->migrate.chan);
drivers/gpu/drm/nouveau/nouveau_dmem.c
83
struct nouveau_dmem_migrate migrate;
drivers/gpu/drm/xe/tests/xe_bo.c
211
struct xe_vm *vm = xe_migrate_get_vm(xe_device_get_root_tile(xe)->migrate);
drivers/gpu/drm/xe/tests/xe_bo.c
47
fence = xe_migrate_clear(tile->migrate, bo, bo->ttm.resource,
drivers/gpu/drm/xe/tests/xe_migrate.c
350
struct xe_migrate *m = tile->migrate;
drivers/gpu/drm/xe/tests/xe_migrate.c
374
struct xe_migrate *m = tile->migrate;
drivers/gpu/drm/xe/tests/xe_migrate.c
611
fence = xe_migrate_clear(tile->migrate, vram_bo, vram_bo->ttm.resource,
drivers/gpu/drm/xe/xe_bo.c
1084
migrate = bo->tile->migrate;
drivers/gpu/drm/xe/xe_bo.c
1086
migrate = mem_type_to_migrate(xe, new_mem->mem_type);
drivers/gpu/drm/xe/xe_bo.c
1088
migrate = mem_type_to_migrate(xe, old_mem_type);
drivers/gpu/drm/xe/xe_bo.c
1090
migrate = xe->tiles[0].migrate;
drivers/gpu/drm/xe/xe_bo.c
1092
xe_assert(xe, migrate);
drivers/gpu/drm/xe/xe_bo.c
1128
fence = xe_migrate_clear(migrate, bo, new_mem, flags);
drivers/gpu/drm/xe/xe_bo.c
1130
fence = xe_migrate_copy(migrate, bo, bo, old_mem, new_mem,
drivers/gpu/drm/xe/xe_bo.c
1409
struct xe_migrate *migrate;
drivers/gpu/drm/xe/xe_bo.c
1413
migrate = bo->tile->migrate;
drivers/gpu/drm/xe/xe_bo.c
1415
migrate = mem_type_to_migrate(xe, bo->ttm.resource->mem_type);
drivers/gpu/drm/xe/xe_bo.c
1422
fence = xe_migrate_copy(migrate, bo, backup, bo->ttm.resource,
drivers/gpu/drm/xe/xe_bo.c
1559
struct xe_migrate *migrate;
drivers/gpu/drm/xe/xe_bo.c
1563
migrate = bo->tile->migrate;
drivers/gpu/drm/xe/xe_bo.c
1565
migrate = mem_type_to_migrate(xe, bo->ttm.resource->mem_type);
drivers/gpu/drm/xe/xe_bo.c
1571
fence = xe_migrate_copy(migrate, backup, bo,
drivers/gpu/drm/xe/xe_bo.c
173
return tile->migrate;
drivers/gpu/drm/xe/xe_bo.c
1782
struct xe_migrate *migrate =
drivers/gpu/drm/xe/xe_bo.c
1785
err = xe_migrate_access_memory(migrate, bo, offset, buf, len,
drivers/gpu/drm/xe/xe_bo.c
3573
decomp_fence = xe_migrate_resolve(tile->migrate,
drivers/gpu/drm/xe/xe_bo.c
960
struct xe_migrate *migrate = NULL;
drivers/gpu/drm/xe/xe_exec_queue.c
531
migrate_vm = xe_migrate_get_vm(tile->migrate);
drivers/gpu/drm/xe/xe_gt.c
670
err = xe_migrate_init(tile->migrate);
drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c
2904
struct xe_migrate *m = tile->migrate;
drivers/gpu/drm/xe/xe_migrate.c
1132
struct xe_lrc *xe_migrate_lrc(struct xe_migrate *migrate)
drivers/gpu/drm/xe/xe_migrate.c
1134
return migrate->q->lrc[0];
drivers/gpu/drm/xe/xe_migrate.c
1189
struct xe_migrate *m = tile->migrate;
drivers/gpu/drm/xe/xe_migrate.c
1364
struct xe_exec_queue *xe_migrate_exec_queue(struct xe_migrate *migrate)
drivers/gpu/drm/xe/xe_migrate.c
1366
return migrate->q;
drivers/gpu/drm/xe/xe_migrate.c
1393
struct xe_migrate *m = tile->migrate;
drivers/gpu/drm/xe/xe_migrate.c
2631
struct xe_migrate *m = gt_to_tile(q->gt)->migrate;
drivers/gpu/drm/xe/xe_migrate.h
148
struct xe_lrc *xe_migrate_lrc(struct xe_migrate *migrate);
drivers/gpu/drm/xe/xe_migrate.h
149
struct xe_exec_queue *xe_migrate_exec_queue(struct xe_migrate *migrate);
drivers/gpu/drm/xe/xe_pt.c
2709
fence = xe_migrate_update_pgtables(tile->migrate, &update);
drivers/gpu/drm/xe/xe_pt.c
2731
ifence = xe_tlb_inval_job_push(ijob, tile->migrate, fence);
drivers/gpu/drm/xe/xe_pt.c
2733
mfence = xe_tlb_inval_job_push(mjob, tile->migrate, fence);
drivers/gpu/drm/xe/xe_svm.c
1176
DECL_SVM_RANGE_COUNT_STATS(migrate, MIGRATE)
drivers/gpu/drm/xe/xe_svm.c
1201
DECL_SVM_RANGE_US_STATS(migrate, MIGRATE)
drivers/gpu/drm/xe/xe_svm.c
603
gt = xe_migrate_exec_queue(vr->migrate)->gt;
drivers/gpu/drm/xe/xe_svm.c
651
__fence = xe_migrate_from_vram(vr->migrate,
drivers/gpu/drm/xe/xe_svm.c
661
__fence = xe_migrate_to_vram(vr->migrate,
drivers/gpu/drm/xe/xe_svm.c
692
__fence = xe_migrate_from_vram(vr->migrate, 1,
drivers/gpu/drm/xe/xe_svm.c
700
__fence = xe_migrate_to_vram(vr->migrate, 1,
drivers/gpu/drm/xe/xe_tile.c
223
xe_migrate_wait(tile->migrate);
drivers/gpu/drm/xe/xe_tile.c
98
tile->migrate = xe_migrate_alloc(tile);
drivers/gpu/drm/xe/xe_tile.c
99
if (!tile->migrate)
drivers/gpu/drm/xe/xe_tile_types.h
127
struct xe_migrate *migrate;
drivers/gpu/drm/xe/xe_vm.c
1010
xe_migrate_exec_queue(tile->migrate);
drivers/gpu/drm/xe/xe_vm.c
3455
xe_migrate_job_lock(tile->migrate, q);
drivers/gpu/drm/xe/xe_vm.c
3459
xe_migrate_job_unlock(tile->migrate, q);
drivers/gpu/drm/xe/xe_vm.c
836
xe_migrate_exec_queue(tile->migrate);
drivers/gpu/drm/xe/xe_vm.c
927
xe_migrate_exec_queue(tile->migrate);
drivers/gpu/drm/xe/xe_vram.c
207
vram->migrate = xe->tiles[id].migrate;
drivers/gpu/drm/xe/xe_vram_types.h
68
struct xe_migrate *migrate;
drivers/perf/hisilicon/hisi_uncore_hha_pmu.c
384
HISI_PMU_EVENT_ATTR(sdir-home-migrate, 0x4c),
drivers/perf/hisilicon/hisi_uncore_hha_pmu.c
385
HISI_PMU_EVENT_ATTR(edir-home-migrate, 0x4d),
fs/ext4/ioctl.c
595
int err = -EPERM, migrate = 0;
fs/ext4/ioctl.c
620
migrate = 1;
fs/ext4/ioctl.c
704
if (migrate) {
fs/ocfs2/dlm/dlmmaster.c
3014
struct dlm_migrate_request migrate;
fs/ocfs2/dlm/dlmmaster.c
3018
memset(&migrate, 0, sizeof(migrate));
fs/ocfs2/dlm/dlmmaster.c
3019
migrate.namelen = res->lockname.len;
fs/ocfs2/dlm/dlmmaster.c
3020
memcpy(migrate.name, res->lockname.name, migrate.namelen);
fs/ocfs2/dlm/dlmmaster.c
3021
migrate.new_master = new_master;
fs/ocfs2/dlm/dlmmaster.c
3022
migrate.master = master;
fs/ocfs2/dlm/dlmmaster.c
3042
&migrate, sizeof(migrate), nodenum,
fs/ocfs2/dlm/dlmmaster.c
3047
migrate.namelen, migrate.name, ret, nodenum);
fs/ocfs2/dlm/dlmmaster.c
3091
struct dlm_migrate_request *migrate = (struct dlm_migrate_request *) msg->buf;
fs/ocfs2/dlm/dlmmaster.c
3100
name = migrate->name;
fs/ocfs2/dlm/dlmmaster.c
3101
namelen = migrate->namelen;
fs/ocfs2/dlm/dlmmaster.c
3136
migrate->new_master,
fs/ocfs2/dlm/dlmmaster.c
3137
migrate->master);
include/linux/migrate.h
194
void migrate_vma_pages(struct migrate_vma *migrate);
include/linux/migrate.h
195
void migrate_vma_finalize(struct migrate_vma *migrate);
include/linux/psci.h
29
int (*migrate)(unsigned long cpuid);
include/linux/psci.h
41
u32 migrate;
include/linux/sched.h
2517
DEFINE_LOCK_GUARD_0(migrate, migrate_disable(), migrate_enable())
include/net/xfrm.h
725
int (*migrate)(const struct xfrm_selector *sel,
include/rv/da_monitor.h
292
#define da_implicit_guard() guard(migrate)()
include/trace/events/migrate.h
3
#define TRACE_SYSTEM migrate
kernel/cgroup/cpuset.c
2646
bool migrate;
kernel/cgroup/cpuset.c
2654
migrate = is_memory_migrate(cs);
kernel/cgroup/cpuset.c
2662
if (migrate)
kernel/sched/fair.c
4078
unsigned long migrate, next_scan, now = jiffies;
kernel/sched/fair.c
4121
migrate = mm->numa_next_scan;
kernel/sched/fair.c
4122
if (time_before(now, migrate))
kernel/sched/fair.c
4131
if (!try_cmpxchg(&mm->numa_next_scan, &migrate, next_scan))
kernel/sched/stats.h
222
static inline void psi_enqueue(struct task_struct *p, bool migrate) {}
kernel/sched/stats.h
223
static inline void psi_dequeue(struct task_struct *p, bool migrate) {}
kernel/time/timer_migration.c
2046
guard(migrate)();
lib/test_hmm.c
1107
dmirror_successful_migrated_pages(struct migrate_vma *migrate)
lib/test_hmm.c
1112
for (i = 0; i < migrate->npages; i++) {
lib/test_hmm.c
1113
if (migrate->src[i] & MIGRATE_PFN_VALID &&
lib/test_hmm.c
1114
migrate->src[i] & MIGRATE_PFN_MIGRATE)
mm/migrate_device.c
1001
int ret = migrate_vma_insert_huge_pmd_page(migrate, addr, page,
mm/migrate_device.c
1101
struct migrate_vma *migrate)
mm/migrate_device.c
1132
VM_BUG_ON(!migrate);
mm/migrate_device.c
1133
addr = migrate->start + i*PAGE_SIZE;
mm/migrate_device.c
1139
migrate->vma->vm_mm, addr, migrate->end,
mm/migrate_device.c
1140
migrate->pgmap_owner);
mm/migrate_device.c
1154
migrate_vma_insert_page(migrate,
mm/migrate_device.c
1174
if (!migrate) {
mm/migrate_device.c
1180
addr = migrate->start + i * PAGE_SIZE;
mm/migrate_device.c
1181
if (migrate_vma_split_unmapped_folio(migrate, i, addr, folio)) {
mm/migrate_device.c
1219
if (migrate && migrate->fault_page == page)
mm/migrate_device.c
1263
void migrate_vma_pages(struct migrate_vma *migrate)
mm/migrate_device.c
1265
__migrate_device_pages(migrate->src, migrate->dst, migrate->npages, migrate);
mm/migrate_device.c
1349
void migrate_vma_finalize(struct migrate_vma *migrate)
mm/migrate_device.c
1351
__migrate_device_finalize(migrate->src, migrate->dst, migrate->npages,
mm/migrate_device.c
1352
migrate->fault_page);
mm/migrate_device.c
142
struct migrate_vma *migrate = walk->private;
mm/migrate_device.c
154
if (!(migrate->flags & MIGRATE_VMA_SELECT_SYSTEM)) {
mm/migrate_device.c
172
!(migrate->flags & MIGRATE_VMA_SELECT_DEVICE_PRIVATE) ||
mm/migrate_device.c
173
(folio->pgmap->owner != migrate->pgmap_owner)) {
mm/migrate_device.c
193
(migrate->flags & MIGRATE_VMA_SELECT_COMPOUND) &&
mm/migrate_device.c
206
migrate->src[migrate->npages] = migrate_pfn(pfn) | write
mm/migrate_device.c
209
migrate->dst[migrate->npages++] = 0;
mm/migrate_device.c
210
migrate->cpages++;
mm/migrate_device.c
213
migrate->npages--;
mm/migrate_device.c
214
migrate->cpages--;
mm/migrate_device.c
215
migrate->src[migrate->npages] = 0;
mm/migrate_device.c
216
migrate->dst[migrate->npages] = 0;
mm/migrate_device.c
246
struct migrate_vma *migrate = walk->private;
mm/migrate_device.c
25
struct migrate_vma *migrate = walk->private;
mm/migrate_device.c
251
struct folio *fault_folio = migrate->fault_page ?
mm/migrate_device.c
252
page_folio(migrate->fault_page) : NULL;
mm/migrate_device.c
284
migrate->cpages++;
mm/migrate_device.c
29
migrate->dst[migrate->npages] = 0;
mm/migrate_device.c
30
migrate->src[migrate->npages++] = 0;
mm/migrate_device.c
301
if (!(migrate->flags &
mm/migrate_device.c
303
pgmap->owner != migrate->pgmap_owner)
mm/migrate_device.c
313
migrate->fault_page);
mm/migrate_device.c
332
(migrate->flags & MIGRATE_VMA_SELECT_SYSTEM)) {
mm/migrate_device.c
334
migrate->cpages++;
mm/migrate_device.c
337
page = vm_normal_page(migrate->vma, addr, pte);
mm/migrate_device.c
339
!(migrate->flags & MIGRATE_VMA_SELECT_SYSTEM)) {
mm/migrate_device.c
344
if (!(migrate->flags &
mm/migrate_device.c
346
pgmap->owner != migrate->pgmap_owner)
mm/migrate_device.c
356
migrate->fault_page);
mm/migrate_device.c
41
struct migrate_vma *migrate = walk->private;
mm/migrate_device.c
423
migrate->cpages++;
mm/migrate_device.c
475
migrate->dst[migrate->npages] = 0;
mm/migrate_device.c
476
migrate->src[migrate->npages++] = mpfn;
mm/migrate_device.c
49
(migrate->flags & MIGRATE_VMA_SELECT_COMPOUND) &&
mm/migrate_device.c
503
static void migrate_vma_collect(struct migrate_vma *migrate)
mm/migrate_device.c
513
migrate->vma->vm_mm, migrate->start, migrate->end,
mm/migrate_device.c
514
migrate->pgmap_owner);
mm/migrate_device.c
517
walk_page_range(migrate->vma->vm_mm, migrate->start, migrate->end,
mm/migrate_device.c
518
&migrate_vma_walk_ops, migrate);
mm/migrate_device.c
52
migrate->src[migrate->npages] = MIGRATE_PFN_MIGRATE |
mm/migrate_device.c
521
migrate->end = migrate->start + (migrate->npages << PAGE_SHIFT);
mm/migrate_device.c
54
migrate->dst[migrate->npages] = 0;
mm/migrate_device.c
55
migrate->npages++;
mm/migrate_device.c
56
migrate->cpages++;
mm/migrate_device.c
66
migrate->src[migrate->npages] = MIGRATE_PFN_MIGRATE;
mm/migrate_device.c
660
static void migrate_vma_unmap(struct migrate_vma *migrate)
mm/migrate_device.c
662
migrate->cpages = migrate_device_unmap(migrate->src, migrate->npages,
mm/migrate_device.c
663
migrate->fault_page);
mm/migrate_device.c
67
migrate->dst[migrate->npages] = 0;
mm/migrate_device.c
68
migrate->npages++;
mm/migrate_device.c
69
migrate->cpages++;
mm/migrate_device.c
788
static int migrate_vma_insert_huge_pmd_page(struct migrate_vma *migrate,
mm/migrate_device.c
794
struct vm_area_struct *vma = migrate->vma;
mm/migrate_device.c
817
if (mem_cgroup_charge(folio, migrate->vma->vm_mm, gfp)) {
mm/migrate_device.c
902
static int migrate_vma_split_unmapped_folio(struct migrate_vma *migrate,
mm/migrate_device.c
916
split_huge_pmd_address(migrate->vma, addr, true);
mm/migrate_device.c
920
migrate->src[idx] &= ~MIGRATE_PFN_COMPOUND;
mm/migrate_device.c
921
flags = migrate->src[idx] & ((1UL << MIGRATE_PFN_SHIFT) - 1);
mm/migrate_device.c
922
pfn = migrate->src[idx] >> MIGRATE_PFN_SHIFT;
mm/migrate_device.c
924
migrate->src[i+idx] = migrate_pfn(pfn + i) | flags;
mm/migrate_device.c
928
static int migrate_vma_insert_huge_pmd_page(struct migrate_vma *migrate,
mm/migrate_device.c
937
static int migrate_vma_split_unmapped_folio(struct migrate_vma *migrate,
mm/migrate_device.c
966
static void migrate_vma_insert_page(struct migrate_vma *migrate,
mm/migrate_device.c
973
struct vm_area_struct *vma = migrate->vma;
net/key/af_key.c
3884
.migrate = pfkey_send_migrate,
net/xfrm/xfrm_state.c
2898
if (km->migrate) {
net/xfrm/xfrm_state.c
2899
ret = km->migrate(sel, dir, type, m, num_migrate, k,
net/xfrm/xfrm_user.c
4607
.migrate = xfrm_send_migrate,
tools/testing/selftests/kvm/x86/xapic_ipi_test.c
359
bool *migrate, int *delay_usecs)
tools/testing/selftests/kvm/x86/xapic_ipi_test.c
371
*migrate = true;
tools/testing/selftests/kvm/x86/xapic_ipi_test.c
397
bool migrate = false;
tools/testing/selftests/kvm/x86/xapic_ipi_test.c
403
get_cmdline_args(argc, argv, &run_secs, &migrate, &delay_usecs);
tools/testing/selftests/kvm/x86/xapic_ipi_test.c
457
if (!migrate)
tools/testing/selftests/mm/hmm-tests.c
553
int ret, use_thp, migrate;
tools/testing/selftests/mm/hmm-tests.c
555
for (migrate = 0; migrate < 2; ++migrate) {
tools/testing/selftests/mm/hmm-tests.c
592
if (migrate) {
tools/testing/selftests/mm/hmm-tests.c
618
if (!migrate) {
tools/testing/selftests/mm/hmm-tests.c
634
if (!migrate) {
tools/testing/selftests/mm/hmm-tests.c
950
TEST_F(hmm, migrate)
tools/testing/selftests/mm/migration.c
180
ASSERT_EQ(migrate(ptr, self->n1, self->n2), 0);
tools/testing/selftests/mm/migration.c
212
err = migrate(ptr, self->n1, self->n2);
tools/testing/selftests/mm/migration.c
244
ASSERT_EQ(migrate(ptr, self->n1, self->n2), 0);
tools/testing/selftests/mm/migration.c
288
err = migrate(ptr, self->n1, self->n2);
tools/testing/selftests/mm/migration.c
318
ASSERT_EQ(migrate(ptr, self->n1, self->n2), 0);
tools/testing/selftests/mm/migration.c
358
err = migrate(ptr, self->n1, self->n2);
tools/testing/selftests/mm/rmap.c
154
FIXTURE(migrate)
tools/testing/selftests/mm/rmap.c
159
FIXTURE_SETUP(migrate)
tools/testing/selftests/mm/rmap.c
195
FIXTURE_TEARDOWN(migrate)
tools/testing/selftests/mm/rmap.c
311
TEST_F(migrate, anon)
tools/testing/selftests/mm/rmap.c
328
TEST_F(migrate, shm)
tools/testing/selftests/mm/rmap.c
353
TEST_F(migrate, file)
tools/testing/selftests/mm/rmap.c
410
TEST_F(migrate, ksm)