xe_live_ktest: starting subtest migrate fails with bug_on on DG1
- kernel: a8694d27
- igt: 7566ace8ca2f899eb5b745b23410dcd6f6a873e1
[ 833.069996] [IGT] xe_live_ktest: starting subtest migrate
[ 833.074217] # Subtest: xe_migrate
[ 833.074224] 1..1
[ 833.074352] # xe_migrate_sanity_kunit: Testing gt id 0.
[ 833.074387] # xe_migrate_sanity_kunit: Starting tests, top level PT addr: a33000, special pagetable base addr: a34000
[ 833.074769] # xe_migrate_sanity_kunit: Writing PTE for our fake PT: Job completed
[ 833.074892] # xe_migrate_sanity_kunit: Writing to our newly mapped pagetable: Job completed
[ 833.074899] # xe_migrate_sanity_kunit: Clearing small buffer object
[ 833.074907] xe 0000:b1:00.0: [drm:xe_migrate_clear [xe]] Pass 0, size: 8192
[ 833.075099] # xe_migrate_sanity_kunit: Copying small buffer object to system
[ 833.075155] ------------[ cut here ]------------
[ 833.075157] kernel BUG at drivers/gpu/drm/xe/xe_bo.c:987!
[ 833.080612] invalid opcode: 0000 [#1] PREEMPT SMP PTI
[ 833.085685] CPU: 5 PID: 5970 Comm: kunit_try_catch Tainted: G E 5.19.0-0310+ #2
[ 833.094300] Hardware name: Intel Corporation S2600WFD/S2600WFD, BIOS SE5C620.86B.02.01.0014.082620210524 08/26/2021
[ 833.104731] RIP: 0010:xe_bo_pin+0x1ac/0x1c0 [xe]
[ 833.109375] Code: 8b 45 d8 65 48 33 04 25 28 00 00 00 75 20 48 83 c4 20 44 89 f0 5b 41 5c 41 5d 41 5e 5d c3 cc cc cc cc 0f 0b 0f 0b 0f 0b 0f 0b <0f> 0b 0f 0b e8 cb b0 c5 ea 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f
[ 833.128133] RSP: 0000:ffffba6c075cfc70 EFLAGS: 00010246
[ 833.133370] RAX: 0000000000000000 RBX: ffff9d84f3c2b800 RCX: 0000000000000000
[ 833.140503] RDX: 0000000000000001 RSI: ffff9d84f3c2b9d0 RDI: ffff9d848b195208
[ 833.147646] RBP: ffffba6c075cfcb0 R08: ffff9d848b195240 R09: 0000000000000000
[ 833.154779] R10: fffff47cc5cdc000 R11: 0000000000000000 R12: ffff9d84f3c2b800
[ 833.161910] R13: ffff9d94534a0630 R14: 0000000000000000 R15: ffffffffc0a627ca
[ 833.169042] FS: 0000000000000000(0000) GS:ffff9d93bf540000(0000) knlGS:0000000000000000
[ 833.177136] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 833.182891] CR2: 00007f5998011cb0 CR3: 000000197440a001 CR4: 00000000007706e0
[ 833.190023] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 833.197158] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[ 833.204288] PKRU: 55555554
[ 833.206999] Call Trace:
[ 833.209454] <TASK>
[ 833.211561] xe_bo_create_pin_map+0x24/0x100 [xe]
[ 833.216276] test_copy+0x78/0x588 [xe]
[ 833.220045] xe_migrate_sanity_test+0x7aa/0xa02 [xe]
[ 833.225022] migrate_test_run_device.cold+0x53/0x68 [xe]
[ 833.230339] ? xe_migrate_update_pgtables+0x830/0x830 [xe]
[ 833.235834] ? kunit_try_catch_throw+0x20/0x20 [kunit]
[ 833.240984] dev_to_xe_device_fn+0x42/0x80 [xe]
[ 833.245524] ? xe_migrate_update_pgtables+0x830/0x830 [xe]
[ 833.251016] ? xe_pci_probe+0x420/0x420 [xe]
[ 833.255297] driver_for_each_device+0x77/0xc0
[ 833.259683] xe_call_for_each_device+0x21/0x30 [xe]
[ 833.264571] xe_migrate_sanity_kunit+0x15/0x20 [xe]
[ 833.269461] kunit_try_run_case+0x53/0x80 [kunit]
[ 833.274167] kunit_generic_run_threadfn_adapter+0x17/0x30 [kunit]
[ 833.280268] kthread+0xfd/0x130
[ 833.283423] ? kthread_complete_and_exit+0x20/0x20
[ 833.288213] ret_from_fork+0x1f/0x30
[ 833.291802] </TASK>
[ 833.294003] Modules linked in: xe_migrate_test(E+) xe(E) kunit(E) drm_suballoc_helper(E) gpu_sched(E) drm_ttm_helper(E) ttm(E) xt_conntrack(E) xt_MASQUERADE(E) nf_conntrack_netlink(E) nfnetlink(E) xfrm_user(E) xfrm_algo(E) xt_addrtype(E) iptable_filter(E) iptable_nat(E) nf_nat(E) nf_conntrack(E) nf_defrag_ipv6(E) nf_defrag_ipv4(E) bpfilter(E) br_netfilter(E) bridge(E) stp(E) llc(E) overlay(E) nls_iso8859_1(E) dm_multipath(E) scsi_dh_rdac(E) scsi_dh_emc(E) scsi_dh_alua(E) ipmi_ssif(E) intel_rapl_msr(E) intel_rapl_common(E) isst_if_common(E) skx_edac(E) nfit(E) x86_pkg_temp_thermal(E) intel_powerclamp(E) coretemp(E) rapl(E) rndis_host(E) cdc_ether(E) joydev(E) efi_pstore(E) input_leds(E) intel_cstate(E) usbnet(E) mii(E) mei_me(E) acpi_ipmi(E) mei(E) intel_pch_thermal(E) ioatdma(E) ipmi_si(E) ipmi_devintf(E) dca(E) ipmi_msghandler(E) acpi_pad(E) acpi_power_meter(E) mac_hid(E) sch_fq_codel(E) msr(E) drm(E) sunrpc(E) ip_tables(E) x_tables(E) autofs4(E) btrfs(E) blake2b_generic(E)
[ 833.294050] zstd_compress(E) raid10(E) raid456(E) async_raid6_recov(E) async_memcpy(E) async_pq(E) async_xor(E) async_tx(E) xor(E) raid6_pq(E) libcrc32c(E) raid1(E) raid0(E) multipath(E) linear(E) hid_generic(E) crct10dif_pclmul(E) crc32_pclmul(E) ghash_clmulni_intel(E) usbhid(E) hid(E) aesni_intel(E) crypto_simd(E) nvme(E) cryptd(E) i2c_i801(E) nvme_core(E) i40e(E) ahci(E) i2c_smbus(E) lpc_ich(E) libahci(E) wmi(E) [last unloaded: xe_bo_test]
[ 833.419499] ---[ end trace 0000000000000000 ]---
[ 833.446481] RIP: 0010:xe_bo_pin+0x1ac/0x1c0 [xe]
[ 833.451130] Code: 8b 45 d8 65 48 33 04 25 28 00 00 00 75 20 48 83 c4 20 44 89 f0 5b 41 5c 41 5d 41 5e 5d c3 cc cc cc cc 0f 0b 0f 0b 0f 0b 0f 0b <0f> 0b 0f 0b e8 cb b0 c5 ea 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f
[ 833.469887] RSP: 0000:ffffba6c075cfc70 EFLAGS: 00010246
[ 833.475119] RAX: 0000000000000000 RBX: ffff9d84f3c2b800 RCX: 0000000000000000
[ 833.482261] RDX: 0000000000000001 RSI: ffff9d84f3c2b9d0 RDI: ffff9d848b195208
[ 833.489401] RBP: ffffba6c075cfcb0 R08: ffff9d848b195240 R09: 0000000000000000
[ 833.496552] R10: fffff47cc5cdc000 R11: 0000000000000000 R12: ffff9d84f3c2b800
[ 833.503693] R13: ffff9d94534a0630 R14: 0000000000000000 R15: ffffffffc0a627ca
[ 833.510833] FS: 0000000000000000(0000) GS:ffff9d93bf540000(0000) knlGS:0000000000000000
[ 833.518927] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 833.524684] CR2: 00007f5998011cb0 CR3: 000000197440a001 CR4: 00000000007706e0
[ 833.531824] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 833.538962] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[ 833.546105] PKRU: 55555554
with
977 /*
978 * For pinned objects in on DGFX, we expect these objects to be in
979 * contiguous VRAM memory. Required eviction / restore during suspend /
980 * resume (force restore to same physical address).
981 */
982 if (IS_DGFX(xe) && !(IS_ENABLED(CONFIG_DRM_XE_DEBUG) &&
983 bo->flags & XE_BO_INTERNAL_TEST)) {
984 struct ttm_place *place = &(bo->placements[0]);
985 bool lmem;
986
987 XE_BUG_ON(!(place->flags & TTM_PL_FLAG_CONTIGUOUS));
988 XE_BUG_ON(!mem_type_is_vram(place->mem_type));
989
990 place->fpfn = (xe_bo_addr(bo, 0, PAGE_SIZE, &lmem) -
991 vram_region_io_offset(bo)) >> PAGE_SHIFT;
992 place->lpfn = place->fpfn + (bo->size >> PAGE_SHIFT);
993
994 spin_lock(&xe->pinned.lock);
995 list_add_tail(&bo->pinned_link, &xe->pinned.kernel_bo_present);
996 spin_unlock(&xe->pinned.lock);
997 }