arch/arm64/kvm/arm.c
2351
init_psci_0_1_impl_state(kvm_host_psci_config, migrate);
arch/arm64/kvm/hyp/nvhe/psci-relay.c
229
if (is_psci_0_1(cpu_off, func_id) || is_psci_0_1(migrate, func_id))
arch/arm64/kvm/hyp/nvhe/psci-relay.c
53
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
667
.migrate = psci_0_2_migrate,
drivers/firmware/psci/psci.c
766
psci_0_1_function_ids.migrate = id;
drivers/firmware/psci/psci.c
767
psci_ops.migrate = psci_0_1_migrate;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
269
static unsigned long svm_migrate_successful_pages(struct migrate_vma *migrate)
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
274
for (i = 0; i < migrate->npages; i++) {
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
275
if (migrate->dst[i] & MIGRATE_PFN_VALID &&
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
276
migrate->src[i] & MIGRATE_PFN_MIGRATE)
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
284
struct migrate_vma *migrate, struct dma_fence **mfence,
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
287
u64 npages = migrate->npages;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
305
for (i = j = 0; (i < npages) && (mpages < migrate->cpages); i++) {
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
308
if (migrate->src[i] & MIGRATE_PFN_MIGRATE) {
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
310
migrate->dst[i] = svm_migrate_addr_to_pfn(adev, dst[i]);
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
311
svm_migrate_get_vram_page(prange, migrate->dst[i]);
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
312
migrate->dst[i] = migrate_pfn(migrate->dst[i]);
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
315
spage = migrate_pfn_to_page(migrate->src[i]);
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
369
migrate->dst[i] = 0;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
379
migrate->dst[i] = 0;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
381
migrate->dst[i + 1] = 0;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
383
migrate->dst[i + 2] = 0;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
385
migrate->dst[i + 3] = 0;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
402
struct migrate_vma migrate = { 0 };
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
409
memset(&migrate, 0, sizeof(migrate));
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
410
migrate.vma = vma;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
411
migrate.start = start;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
412
migrate.end = end;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
413
migrate.flags = MIGRATE_VMA_SELECT_SYSTEM;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
414
migrate.pgmap_owner = SVM_ADEV_PGMAP_OWNER(adev);
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
417
2 * sizeof(*migrate.src) + sizeof(u64) + sizeof(dma_addr_t),
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
422
migrate.src = buf;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
423
migrate.dst = migrate.src + npages;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
424
scratch = (dma_addr_t *)(migrate.dst + npages);
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
431
r = migrate_vma_setup(&migrate);
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
438
cpages = migrate.cpages;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
450
r = svm_migrate_copy_to_vram(node, prange, &migrate, &mfence, scratch, ttm_res_offset);
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
451
migrate_vma_pages(&migrate);
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
454
migrate_vma_finalize(&migrate);
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
456
mpages = svm_migrate_successful_pages(&migrate);
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
458
mpages, cpages, migrate.npages);
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
589
struct migrate_vma *migrate, struct dma_fence **mfence,
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
603
addr = migrate->start;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
611
spage = migrate_pfn_to_page(migrate->src[i]);
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
637
dpage = svm_migrate_get_sys_page(migrate->vma, addr);
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
655
migrate->dst[i] = migrate_pfn(page_to_pfn(dpage));
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
667
migrate->dst[i] = 0;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
703
struct migrate_vma migrate = { 0 };
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
708
memset(&migrate, 0, sizeof(migrate));
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
709
migrate.vma = vma;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
710
migrate.start = start;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
711
migrate.end = end;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
712
migrate.pgmap_owner = SVM_ADEV_PGMAP_OWNER(adev);
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
714
migrate.flags = MIGRATE_VMA_SELECT_DEVICE_COHERENT;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
716
migrate.flags = MIGRATE_VMA_SELECT_DEVICE_PRIVATE;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
719
2 * sizeof(*migrate.src) + sizeof(u64) + sizeof(dma_addr_t),
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
724
migrate.src = buf;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
725
migrate.dst = migrate.src + npages;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
726
migrate.fault_page = fault_page;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
727
scratch = (dma_addr_t *)(migrate.dst + npages);
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
734
r = migrate_vma_setup(&migrate);
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
741
cpages = migrate.cpages;
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
753
r = svm_migrate_copy_to_ram(adev, prange, &migrate, &mfence,
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
755
migrate_vma_pages(&migrate);
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
757
mpages = svm_migrate_successful_pages(&migrate);
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
759
mpages, cpages, migrate.npages);
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
762
migrate_vma_finalize(&migrate);
drivers/gpu/drm/drm_pagemap.c
1042
struct migrate_vma migrate = {
drivers/gpu/drm/drm_pagemap.c
1073
migrate.start = start;
drivers/gpu/drm/drm_pagemap.c
1074
migrate.end = end;
drivers/gpu/drm/drm_pagemap.c
1077
buf = kvcalloc(npages, 2 * sizeof(*migrate.src) + sizeof(*pagemap_addr) +
drivers/gpu/drm/drm_pagemap.c
1083
pagemap_addr = buf + (2 * sizeof(*migrate.src) * npages);
drivers/gpu/drm/drm_pagemap.c
1084
pages = buf + (2 * sizeof(*migrate.src) + sizeof(*pagemap_addr)) * npages;
drivers/gpu/drm/drm_pagemap.c
1086
migrate.vma = vas;
drivers/gpu/drm/drm_pagemap.c
1087
migrate.src = buf;
drivers/gpu/drm/drm_pagemap.c
1088
migrate.dst = migrate.src + npages;
drivers/gpu/drm/drm_pagemap.c
1090
err = migrate_vma_setup(&migrate);
drivers/gpu/drm/drm_pagemap.c
1095
if (!migrate.cpages)
drivers/gpu/drm/drm_pagemap.c
1102
migrate.src, migrate.dst,
drivers/gpu/drm/drm_pagemap.c
1107
err = drm_pagemap_migrate_map_pages(dev, zdd->dpagemap, pagemap_addr, migrate.dst, npages,
drivers/gpu/drm/drm_pagemap.c
1113
pages[i] = migrate_pfn_to_page(migrate.src[i]);
drivers/gpu/drm/drm_pagemap.c
1121
drm_pagemap_migration_unlock_put_pages(npages, migrate.dst);
drivers/gpu/drm/drm_pagemap.c
1122
migrate_vma_pages(&migrate);
drivers/gpu/drm/drm_pagemap.c
1123
migrate_vma_finalize(&migrate);
drivers/gpu/drm/drm_pagemap.c
1125
drm_pagemap_migrate_unmap_pages(dev, pagemap_addr, migrate.dst,
drivers/gpu/drm/drm_pagemap.c
479
struct migrate_vma migrate = {
drivers/gpu/drm/drm_pagemap.c
518
buf = kvcalloc(npages, 2 * sizeof(*migrate.src) + sizeof(*pagemap_addr) +
drivers/gpu/drm/drm_pagemap.c
524
pagemap_addr = buf + (2 * sizeof(*migrate.src) * npages);
drivers/gpu/drm/drm_pagemap.c
525
pages = buf + (2 * sizeof(*migrate.src) + sizeof(*pagemap_addr)) * npages;
drivers/gpu/drm/drm_pagemap.c
535
migrate.vma = vas;
drivers/gpu/drm/drm_pagemap.c
536
migrate.src = buf;
drivers/gpu/drm/drm_pagemap.c
537
migrate.dst = migrate.src + npages;
drivers/gpu/drm/drm_pagemap.c
539
err = migrate_vma_setup(&migrate);
drivers/gpu/drm/drm_pagemap.c
543
if (!migrate.cpages) {
drivers/gpu/drm/drm_pagemap.c
549
if (migrate.cpages != npages) {
drivers/gpu/drm/drm_pagemap.c
560
struct page *src_page = migrate_pfn_to_page(migrate.src[i]);
drivers/gpu/drm/drm_pagemap.c
583
err = ops->populate_devmem_pfn(devmem_allocation, npages, migrate.dst);
drivers/gpu/drm/drm_pagemap.c
590
struct page *page = pfn_to_page(migrate.dst[i]);
drivers/gpu/drm/drm_pagemap.c
591
struct page *src_page = migrate_pfn_to_page(migrate.src[i]);
drivers/gpu/drm/drm_pagemap.c
600
migrate.dst[i] = 0;
drivers/gpu/drm/drm_pagemap.c
617
migrate.dst[i] = migrate_pfn(migrate.dst[i]);
drivers/gpu/drm/drm_pagemap.c
621
err = drm_pagemap_migrate_range(devmem_allocation, migrate.src, migrate.dst,
drivers/gpu/drm/drm_pagemap.c
631
err = drm_pagemap_migrate_range(devmem_allocation, migrate.src, migrate.dst,
drivers/gpu/drm/drm_pagemap.c
647
drm_pagemap_migration_unlock_put_pages(npages, migrate.dst);
drivers/gpu/drm/drm_pagemap.c
649
migrate_vma_pages(&migrate);
drivers/gpu/drm/drm_pagemap.c
652
struct page *page = migrate_pfn_to_page(migrate.src[i]);
drivers/gpu/drm/drm_pagemap.c
655
if (migrate.src[i] & MIGRATE_PFN_MIGRATE)
drivers/gpu/drm/drm_pagemap.c
666
migrate_vma_finalize(&migrate);
drivers/gpu/drm/i915/gem/i915_gem_object.c
709
if (!obj->ops->migrate)
drivers/gpu/drm/i915/gem/i915_gem_object.c
803
if (!obj->ops->migrate) {
drivers/gpu/drm/i915/gem/i915_gem_object.c
809
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
1237
.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
1219
err = intel_context_migrate_clear(to_gt(i915)->migrate.context, NULL,
drivers/gpu/drm/i915/gt/intel_gt.c
741
intel_migrate_init(>->migrate, gt);
drivers/gpu/drm/i915/gt/intel_gt.c
767
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
349
struct xe_migrate *m = tile->migrate;
drivers/gpu/drm/xe/tests/xe_migrate.c
373
struct xe_migrate *m = tile->migrate;
drivers/gpu/drm/xe/tests/xe_migrate.c
610
fence = xe_migrate_clear(tile->migrate, vram_bo, vram_bo->ttm.resource,
drivers/gpu/drm/xe/xe_bo.c
1268
struct xe_migrate *migrate;
drivers/gpu/drm/xe/xe_bo.c
1272
migrate = bo->tile->migrate;
drivers/gpu/drm/xe/xe_bo.c
1274
migrate = mem_type_to_migrate(xe, bo->ttm.resource->mem_type);
drivers/gpu/drm/xe/xe_bo.c
1281
fence = xe_migrate_copy(migrate, bo, backup, bo->ttm.resource,
drivers/gpu/drm/xe/xe_bo.c
1418
struct xe_migrate *migrate;
drivers/gpu/drm/xe/xe_bo.c
1422
migrate = bo->tile->migrate;
drivers/gpu/drm/xe/xe_bo.c
1424
migrate = mem_type_to_migrate(xe, bo->ttm.resource->mem_type);
drivers/gpu/drm/xe/xe_bo.c
1430
fence = xe_migrate_copy(migrate, backup, bo,
drivers/gpu/drm/xe/xe_bo.c
1653
struct xe_migrate *migrate =
drivers/gpu/drm/xe/xe_bo.c
1656
err = xe_migrate_access_memory(migrate, bo, offset, buf, len,
drivers/gpu/drm/xe/xe_bo.c
173
return tile->migrate;
drivers/gpu/drm/xe/xe_bo.c
848
struct xe_migrate *migrate = NULL;
drivers/gpu/drm/xe/xe_bo.c
958
migrate = bo->tile->migrate;
drivers/gpu/drm/xe/xe_bo.c
960
migrate = mem_type_to_migrate(xe, new_mem->mem_type);
drivers/gpu/drm/xe/xe_bo.c
962
migrate = mem_type_to_migrate(xe, old_mem_type);
drivers/gpu/drm/xe/xe_bo.c
964
migrate = xe->tiles[0].migrate;
drivers/gpu/drm/xe/xe_bo.c
966
xe_assert(xe, migrate);
drivers/gpu/drm/xe/xe_bo.c
987
fence = xe_migrate_clear(migrate, bo, new_mem, flags);
drivers/gpu/drm/xe/xe_bo.c
989
fence = xe_migrate_copy(migrate, bo, bo, old_mem, new_mem,
drivers/gpu/drm/xe/xe_device_types.h
244
struct xe_migrate *migrate;
drivers/gpu/drm/xe/xe_exec_queue.c
432
migrate_vm = xe_migrate_get_vm(tile->migrate);
drivers/gpu/drm/xe/xe_gt.c
626
err = xe_migrate_init(tile->migrate);
drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c
2585
struct xe_migrate *m = tile->migrate;
drivers/gpu/drm/xe/xe_migrate.c
1050
struct xe_lrc *xe_migrate_lrc(struct xe_migrate *migrate)
drivers/gpu/drm/xe/xe_migrate.c
1052
return migrate->q->lrc[0];
drivers/gpu/drm/xe/xe_migrate.c
1104
struct xe_migrate *m = tile->migrate;
drivers/gpu/drm/xe/xe_migrate.c
1262
struct xe_exec_queue *xe_migrate_exec_queue(struct xe_migrate *migrate)
drivers/gpu/drm/xe/xe_migrate.c
1264
return migrate->q;
drivers/gpu/drm/xe/xe_migrate.c
1291
struct xe_migrate *m = tile->migrate;
drivers/gpu/drm/xe/xe_migrate.c
2530
struct xe_migrate *m = gt_to_tile(q->gt)->migrate;
drivers/gpu/drm/xe/xe_migrate.h
142
struct xe_lrc *xe_migrate_lrc(struct xe_migrate *migrate);
drivers/gpu/drm/xe/xe_migrate.h
143
struct xe_exec_queue *xe_migrate_exec_queue(struct xe_migrate *migrate);
drivers/gpu/drm/xe/xe_pt.c
2601
fence = xe_migrate_update_pgtables(tile->migrate, &update);
drivers/gpu/drm/xe/xe_pt.c
2623
ifence = xe_tlb_inval_job_push(ijob, tile->migrate, fence);
drivers/gpu/drm/xe/xe_pt.c
2625
mfence = xe_tlb_inval_job_push(mjob, tile->migrate, fence);
drivers/gpu/drm/xe/xe_svm.c
1155
DECL_SVM_RANGE_COUNT_STATS(migrate, MIGRATE)
drivers/gpu/drm/xe/xe_svm.c
1180
DECL_SVM_RANGE_US_STATS(migrate, MIGRATE)
drivers/gpu/drm/xe/xe_svm.c
575
gt = xe_migrate_exec_queue(vr->migrate)->gt;
drivers/gpu/drm/xe/xe_svm.c
623
__fence = xe_migrate_from_vram(vr->migrate,
drivers/gpu/drm/xe/xe_svm.c
633
__fence = xe_migrate_to_vram(vr->migrate,
drivers/gpu/drm/xe/xe_svm.c
664
__fence = xe_migrate_from_vram(vr->migrate, 1,
drivers/gpu/drm/xe/xe_svm.c
672
__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_vm.c
3219
xe_migrate_job_lock(tile->migrate, q);
drivers/gpu/drm/xe/xe_vm.c
3223
xe_migrate_job_unlock(tile->migrate, q);
drivers/gpu/drm/xe/xe_vm.c
760
xe_migrate_exec_queue(tile->migrate);
drivers/gpu/drm/xe/xe_vm.c
851
xe_migrate_exec_queue(tile->migrate);
drivers/gpu/drm/xe/xe_vm.c
934
xe_migrate_exec_queue(tile->migrate);
drivers/gpu/drm/xe/xe_vram.c
206
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
3016
struct dlm_migrate_request migrate;
fs/ocfs2/dlm/dlmmaster.c
3020
memset(&migrate, 0, sizeof(migrate));
fs/ocfs2/dlm/dlmmaster.c
3021
migrate.namelen = res->lockname.len;
fs/ocfs2/dlm/dlmmaster.c
3022
memcpy(migrate.name, res->lockname.name, migrate.namelen);
fs/ocfs2/dlm/dlmmaster.c
3023
migrate.new_master = new_master;
fs/ocfs2/dlm/dlmmaster.c
3024
migrate.master = master;
fs/ocfs2/dlm/dlmmaster.c
3044
&migrate, sizeof(migrate), nodenum,
fs/ocfs2/dlm/dlmmaster.c
3049
migrate.namelen, migrate.name, ret, nodenum);
fs/ocfs2/dlm/dlmmaster.c
3093
struct dlm_migrate_request *migrate = (struct dlm_migrate_request *) msg->buf;
fs/ocfs2/dlm/dlmmaster.c
3102
name = migrate->name;
fs/ocfs2/dlm/dlmmaster.c
3103
namelen = migrate->namelen;
fs/ocfs2/dlm/dlmmaster.c
3138
migrate->new_master,
fs/ocfs2/dlm/dlmmaster.c
3139
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
2485
DEFINE_LOCK_GUARD_0(migrate, migrate_disable(), migrate_enable())
include/net/xfrm.h
713
int (*migrate)(const struct xfrm_selector *sel,
include/trace/events/migrate.h
3
#define TRACE_SYSTEM migrate
kernel/cgroup/cpuset.c
2638
bool migrate;
kernel/cgroup/cpuset.c
2646
migrate = is_memory_migrate(cs);
kernel/cgroup/cpuset.c
2649
if (migrate)
kernel/sched/fair.c
3365
unsigned long migrate, next_scan, now = jiffies;
kernel/sched/fair.c
3408
migrate = mm->numa_next_scan;
kernel/sched/fair.c
3409
if (time_before(now, migrate))
kernel/sched/fair.c
3418
if (!try_cmpxchg(&mm->numa_next_scan, &migrate, next_scan))
kernel/sched/stats.h
229
static inline void psi_enqueue(struct task_struct *p, bool migrate) {}
kernel/sched/stats.h
230
static inline void psi_dequeue(struct task_struct *p, bool migrate) {}
lib/test_hmm.c
1026
dmirror_successful_migrated_pages(struct migrate_vma *migrate)
lib/test_hmm.c
1031
for (i = 0; i < migrate->npages; i++) {
lib/test_hmm.c
1032
if (migrate->src[i] & MIGRATE_PFN_VALID &&
lib/test_hmm.c
1033
migrate->src[i] & MIGRATE_PFN_MIGRATE)
mm/migrate_device.c
1003
int ret = migrate_vma_insert_huge_pmd_page(migrate, addr, page,
mm/migrate_device.c
1103
struct migrate_vma *migrate)
mm/migrate_device.c
1134
VM_BUG_ON(!migrate);
mm/migrate_device.c
1135
addr = migrate->start + i*PAGE_SIZE;
mm/migrate_device.c
1141
migrate->vma->vm_mm, addr, migrate->end,
mm/migrate_device.c
1142
migrate->pgmap_owner);
mm/migrate_device.c
1156
migrate_vma_insert_page(migrate,
mm/migrate_device.c
1176
if (!migrate) {
mm/migrate_device.c
1182
addr = migrate->start + i * PAGE_SIZE;
mm/migrate_device.c
1183
if (migrate_vma_split_unmapped_folio(migrate, i, addr, folio)) {
mm/migrate_device.c
1221
if (migrate && migrate->fault_page == page)
mm/migrate_device.c
1265
void migrate_vma_pages(struct migrate_vma *migrate)
mm/migrate_device.c
1267
__migrate_device_pages(migrate->src, migrate->dst, migrate->npages, migrate);
mm/migrate_device.c
1351
void migrate_vma_finalize(struct migrate_vma *migrate)
mm/migrate_device.c
1353
__migrate_device_finalize(migrate->src, migrate->dst, migrate->npages,
mm/migrate_device.c
1354
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
199
(migrate->flags & MIGRATE_VMA_SELECT_COMPOUND) &&
mm/migrate_device.c
212
migrate->src[migrate->npages] = migrate_pfn(pfn) | write
mm/migrate_device.c
215
migrate->dst[migrate->npages++] = 0;
mm/migrate_device.c
216
migrate->cpages++;
mm/migrate_device.c
219
migrate->npages--;
mm/migrate_device.c
220
migrate->cpages--;
mm/migrate_device.c
221
migrate->src[migrate->npages] = 0;
mm/migrate_device.c
222
migrate->dst[migrate->npages] = 0;
mm/migrate_device.c
25
struct migrate_vma *migrate = walk->private;
mm/migrate_device.c
252
struct migrate_vma *migrate = walk->private;
mm/migrate_device.c
257
struct folio *fault_folio = migrate->fault_page ?
mm/migrate_device.c
258
page_folio(migrate->fault_page) : NULL;
mm/migrate_device.c
29
migrate->dst[migrate->npages] = 0;
mm/migrate_device.c
290
migrate->cpages++;
mm/migrate_device.c
30
migrate->src[migrate->npages++] = 0;
mm/migrate_device.c
307
if (!(migrate->flags &
mm/migrate_device.c
309
pgmap->owner != migrate->pgmap_owner)
mm/migrate_device.c
319
migrate->fault_page);
mm/migrate_device.c
338
(migrate->flags & MIGRATE_VMA_SELECT_SYSTEM)) {
mm/migrate_device.c
340
migrate->cpages++;
mm/migrate_device.c
343
page = vm_normal_page(migrate->vma, addr, pte);
mm/migrate_device.c
345
!(migrate->flags & MIGRATE_VMA_SELECT_SYSTEM)) {
mm/migrate_device.c
350
if (!(migrate->flags &
mm/migrate_device.c
352
pgmap->owner != migrate->pgmap_owner)
mm/migrate_device.c
362
migrate->fault_page);
mm/migrate_device.c
41
struct migrate_vma *migrate = walk->private;
mm/migrate_device.c
428
migrate->cpages++;
mm/migrate_device.c
480
migrate->dst[migrate->npages] = 0;
mm/migrate_device.c
481
migrate->src[migrate->npages++] = mpfn;
mm/migrate_device.c
49
(migrate->flags & MIGRATE_VMA_SELECT_COMPOUND) &&
mm/migrate_device.c
508
static void migrate_vma_collect(struct migrate_vma *migrate)
mm/migrate_device.c
518
migrate->vma->vm_mm, migrate->start, migrate->end,
mm/migrate_device.c
519
migrate->pgmap_owner);
mm/migrate_device.c
52
migrate->src[migrate->npages] = MIGRATE_PFN_MIGRATE |
mm/migrate_device.c
522
walk_page_range(migrate->vma->vm_mm, migrate->start, migrate->end,
mm/migrate_device.c
523
&migrate_vma_walk_ops, migrate);
mm/migrate_device.c
526
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
665
static void migrate_vma_unmap(struct migrate_vma *migrate)
mm/migrate_device.c
667
migrate->cpages = migrate_device_unmap(migrate->src, migrate->npages,
mm/migrate_device.c
668
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
793
static int migrate_vma_insert_huge_pmd_page(struct migrate_vma *migrate,
mm/migrate_device.c
799
struct vm_area_struct *vma = migrate->vma;
mm/migrate_device.c
823
if (mem_cgroup_charge(folio, migrate->vma->vm_mm, gfp)) {
mm/migrate_device.c
908
static int migrate_vma_split_unmapped_folio(struct migrate_vma *migrate,
mm/migrate_device.c
918
split_huge_pmd_address(migrate->vma, addr, true);
mm/migrate_device.c
922
migrate->src[idx] &= ~MIGRATE_PFN_COMPOUND;
mm/migrate_device.c
923
flags = migrate->src[idx] & ((1UL << MIGRATE_PFN_SHIFT) - 1);
mm/migrate_device.c
924
pfn = migrate->src[idx] >> MIGRATE_PFN_SHIFT;
mm/migrate_device.c
926
migrate->src[i+idx] = migrate_pfn(pfn + i) | flags;
mm/migrate_device.c
930
static int migrate_vma_insert_huge_pmd_page(struct migrate_vma *migrate,
mm/migrate_device.c
939
static int migrate_vma_split_unmapped_folio(struct migrate_vma *migrate,
mm/migrate_device.c
968
static void migrate_vma_insert_page(struct migrate_vma *migrate,
mm/migrate_device.c
975
struct vm_area_struct *vma = migrate->vma;
net/key/af_key.c
3883
.migrate = pfkey_send_migrate,
net/xfrm/xfrm_state.c
2849
if (km->migrate) {
net/xfrm/xfrm_state.c
2850
ret = km->migrate(sel, dir, type, m, num_migrate, k,
net/xfrm/xfrm_user.c
4225
.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
547
int ret, use_thp, migrate;
tools/testing/selftests/mm/hmm-tests.c
549
for (migrate = 0; migrate < 2; ++migrate) {
tools/testing/selftests/mm/hmm-tests.c
586
if (migrate) {
tools/testing/selftests/mm/hmm-tests.c
612
if (!migrate) {
tools/testing/selftests/mm/hmm-tests.c
628
if (!migrate) {
tools/testing/selftests/mm/hmm-tests.c
994
TEST_F(hmm, migrate)
tools/testing/selftests/mm/migration.c
141
ASSERT_EQ(migrate(ptr, self->n1, self->n2), 0);
tools/testing/selftests/mm/migration.c
176
ASSERT_EQ(migrate(ptr, self->n1, self->n2), 0);
tools/testing/selftests/mm/migration.c
206
ASSERT_EQ(migrate(ptr, self->n1, self->n2), 0);
tools/testing/selftests/mm/migration.c
248
ASSERT_EQ(migrate(ptr, self->n1, self->n2), 0);
tools/testing/selftests/mm/migration.c
273
ASSERT_EQ(migrate(ptr, self->n1, self->n2), 0);
tools/testing/selftests/mm/migration.c
308
ASSERT_EQ(migrate(ptr, self->n1, self->n2), 0);
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)