On Thu, Nov 12, 2020 at 01:48:05PM +0100, Benjamin Baier wrote: > Hi > > this fixes the VM_L2_PROTECTION_FAULT_STATUS I was getting. > (and maybe also some of the bug reports, reporting L2 protection faults) > It was reproduceable by running > piglit run quick -t "[email protected]@execution@texelfetch fs sampler2d > 1x281-501x281" out
Are you sure you see this without that change? There were changes to the ttm page fault handling in October which resolved it here. > > > drm:pid57901:gmc_v9_0_process_interrupt *ERROR* [gfxhub0] no-retry page > > fault (src_id:0 ring:136 vmid:3 pasid:32820, for process pid 0 thread > > texelFetch pid 12232) > > drm:pid57901:gmc_v9_0_process_interrupt *ERROR* in page starting at > > address 0x000080011138a000 from client 27 > > drm:pid57901:gmc_v9_0_process_interrupt *ERROR* > > VM_L2_PROTECTION_FAULT_STATUS:0x003C0111 > > drm:pid57901:gmc_v9_0_process_interrupt *ERROR* MORE_FAULTS: 0x1 > > drm:pid57901:gmc_v9_0_process_interrupt *ERROR* WALKER_ERROR: 0x0 > > drm:pid57901:gmc_v9_0_process_interrupt *ERROR* PERMISSION_FAULTS: 0x1 > > drm:pid57901:gmc_v9_0_process_interrupt *ERROR* MAPPING_ERROR: 0x1 > > drm:pid57901:gmc_v9_0_process_interrupt *ERROR* RW: 0x1 > > drm:pid15167:gmc_v9_0_process_interrupt *ERROR* [gfxhub0] retry page fault > > (src_id:0 ring:0 vmid:3 pasid:32820, for process pid 0 thread texelFetch > > pid 12232) > > drm:pid15167:gmc_v9_0_process_interrupt *ERROR* in page starting at > > address 0x0000800111380000 from client 27 > > drm:pid15167:gmc_v9_0_process_interrupt *ERROR* > > VM_L2_PROTECTION_FAULT_STATUS:0x003C0071 > > drm:pid15167:gmc_v9_0_process_interrupt *ERROR* MORE_FAULTS: 0x1 > > drm:pid15167:gmc_v9_0_process_interrupt *ERROR* WALKER_ERROR: 0x0 > > drm:pid15167:gmc_v9_0_process_interrupt *ERROR* PERMISSION_FAULTS: 0x7 > > drm:pid15167:gmc_v9_0_process_interrupt *ERROR* MAPPING_ERROR: 0x0 > > drm:pid15167:gmc_v9_0_process_interrupt *ERROR* RW: 0x1 > > drm:pid15167:gmc_v9_0_process_interrupt *ERROR* [gfxhub0] no-retry page > > fault (src_id:0 ring:152 vmid:3 pasid:32820, for process pid 0 thread > > texelFetch pid 12232) > > drm:pid15167:gmc_v9_0_process_interrupt *ERROR* in page starting at > > address 0x0000800111384000 from client 27 > > jsg@, kettenis@ an me had some private mails about this a while back > and I finally found a cure here: > https://cgit.freedesktop.org/~agd5f/linux/commit/?h=amd-drm-next-5.11-2020-11-05&id=19201c075d2ca6a58421aa1f22281977e84ae17f > > Greetings Ben > > Index: amdgpu_vm.c > =================================================================== > RCS file: /var/cvs/src/sys/dev/pci/drm/amd/amdgpu/amdgpu_vm.c,v > retrieving revision 1.9 > diff -u -p -r1.9 amdgpu_vm.c > --- amdgpu_vm.c 13 Jul 2020 06:25:17 -0000 1.9 > +++ amdgpu_vm.c 11 Nov 2020 16:51:37 -0000 > @@ -3434,7 +3434,7 @@ bool amdgpu_vm_handle_fault(struct amdgp > value = 0; > } > > - r = amdgpu_vm_bo_update_mapping(adev, vm, true, NULL, addr, addr + 1, > + r = amdgpu_vm_bo_update_mapping(adev, vm, true, NULL, addr, addr, > flags, value, NULL, NULL); > if (r) > goto error_unlock; > > > --- > > OpenBSD 6.8-current (GENERIC.MP) #11: Wed Nov 11 22:26:53 CET 2020 > [email protected]:/usr/src/sys/arch/amd64/compile/GENERIC.MP > real mem = 17078054912 (16286MB) > avail mem = 16545169408 (15778MB) > random: good seed from bootblocks > mpath0 at root > scsibus0 at mpath0: 256 targets > mainbus0 at root > bios0 at mainbus0: SMBIOS rev. 3.2 @ 0x8f19e000 (94 entries) > bios0: vendor American Megatrends Inc. version "2002" date 06/18/2020 > bios0: ASUSTeK COMPUTER INC. ROG STRIX B360-G GAMING > acpi0 at bios0: ACPI 6.1 > acpi0: sleep states S0 S3 S4 S5 > acpi0: tables DSDT FACP APIC FPDT FIDT MCFG WSMT SSDT SSDT SSDT HPET SSDT > SSDT UEFI LPIT SSDT SSDT DBGP DBG2 SSDT BGRT > acpi0: wakeup devices PEG0(S4) PEGP(S4) PEG1(S4) PEGP(S4) PEG2(S4) PEGP(S4) > SIO1(S3) UAR1(S4) RP01(S4) PXSX(S4) RP02(S4) PXSX(S4) RP03(S4) PXSX(S4) > RP04(S4) PXSX(S4) [...] > acpitimer0 at acpi0: 3579545 Hz, 24 bits > acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat > cpu0 at mainbus0: apid 0 (boot processor) > cpu0: Intel(R) Core(TM) i3-9100 CPU @ 3.60GHz, 3593.43 MHz, 06-9e-0b > cpu0: > FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,TSC_ADJUST,SGX,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT,SRBDS_CTRL,MD_CLEAR,TSXFA,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,XSAVEC,XGETBV1,XSAVES,MELTDOWN > cpu0: 256KB 64b/line 8-way L2 cache > cpu0: smt 0, core 0, package 0 > mtrr: Pentium Pro MTRR support, 10 var ranges, 88 fixed ranges > cpu0: apic clock running at 24MHz > cpu0: mwait min=64, max=64, C-substates=0.2.1.2.4.1.1.1, IBE > cpu1 at mainbus0: apid 2 (application processor) > cpu1: Intel(R) Core(TM) i3-9100 CPU @ 3.60GHz, 3591.64 MHz, 06-9e-0b > cpu1: > FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,TSC_ADJUST,SGX,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT,SRBDS_CTRL,MD_CLEAR,TSXFA,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,XSAVEC,XGETBV1,XSAVES,MELTDOWN > cpu1: 256KB 64b/line 8-way L2 cache > cpu1: smt 0, core 1, package 0 > cpu2 at mainbus0: apid 4 (application processor) > cpu2: Intel(R) Core(TM) i3-9100 CPU @ 3.60GHz, 3591.64 MHz, 06-9e-0b > cpu2: > FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,TSC_ADJUST,SGX,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT,SRBDS_CTRL,MD_CLEAR,TSXFA,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,XSAVEC,XGETBV1,XSAVES,MELTDOWN > cpu2: 256KB 64b/line 8-way L2 cache > cpu2: smt 0, core 2, package 0 > cpu3 at mainbus0: apid 6 (application processor) > cpu3: Intel(R) Core(TM) i3-9100 CPU @ 3.60GHz, 3591.64 MHz, 06-9e-0b > cpu3: > FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,TSC_ADJUST,SGX,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT,SRBDS_CTRL,MD_CLEAR,TSXFA,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,XSAVEC,XGETBV1,XSAVES,MELTDOWN > cpu3: 256KB 64b/line 8-way L2 cache > cpu3: smt 0, core 3, package 0 > ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 20, 120 pins > acpimcfg0 at acpi0 > acpimcfg0: addr 0xe0000000, bus 0-255 > acpihpet0 at acpi0: 23999999 Hz > acpiprt0 at acpi0: bus 0 (PCI0) > acpiprt1 at acpi0: bus 1 (PEG0) > acpiprt2 at acpi0: bus -1 (PEG1) > acpiprt3 at acpi0: bus -1 (PEG2) > acpiprt4 at acpi0: bus -1 (RP01) > acpiprt5 at acpi0: bus -1 (RP02) > acpiprt6 at acpi0: bus -1 (RP03) > acpiprt7 at acpi0: bus -1 (RP04) > acpiprt8 at acpi0: bus 3 (RP05) > acpiprt9 at acpi0: bus -1 (RP06) > acpiprt10 at acpi0: bus -1 (RP07) > acpiprt11 at acpi0: bus -1 (RP08) > acpiprt12 at acpi0: bus 4 (RP09) > acpiprt13 at acpi0: bus -1 (RP10) > acpiprt14 at acpi0: bus -1 (RP11) > acpiprt15 at acpi0: bus -1 (RP12) > acpiprt16 at acpi0: bus -1 (RP13) > acpiprt17 at acpi0: bus -1 (RP14) > acpiprt18 at acpi0: bus -1 (RP15) > acpiprt19 at acpi0: bus -1 (RP16) > acpiprt20 at acpi0: bus -1 (RP17) > acpiprt21 at acpi0: bus -1 (RP18) > acpiprt22 at acpi0: bus -1 (RP19) > acpiprt23 at acpi0: bus -1 (RP20) > acpiprt24 at acpi0: bus 2 (RP21) > acpiprt25 at acpi0: bus -1 (RP22) > acpiprt26 at acpi0: bus -1 (RP23) > acpiprt27 at acpi0: bus -1 (RP24) > acpiec0 at acpi0: not present > acpipci0 at acpi0 PCI0: 0x00000010 0x00000011 0x00000000 > "ACPI000E" at acpi0 not configured > acpibtn0 at acpi0: SLPB > "PNP0C14" at acpi0 not configured > "PNP0C14" at acpi0 not configured > "INT33A1" at acpi0 not configured > acpibtn1 at acpi0: PWRB > "PNP0C0B" at acpi0 not configured > "PNP0C0B" at acpi0 not configured > "PNP0C0B" at acpi0 not configured > "PNP0C0B" at acpi0 not configured > "PNP0C0B" at acpi0 not configured > "PNP0C14" at acpi0 not configured > "PNP0C14" at acpi0 not configured > acpipwrres0 at acpi0: USBC, resource for XDCI > acpipwrres1 at acpi0: V0PR > acpipwrres2 at acpi0: V1PR > acpipwrres3 at acpi0: V2PR > acpipwrres4 at acpi0: WRST > acpicpu0 at acpi0: C3(200@1034 mwait.1@0x60), C2(200@120 mwait.1@0x32), > C1(1000@1 mwait.1), PSS > acpicpu1 at acpi0: C3(200@1034 mwait.1@0x60), C2(200@120 mwait.1@0x32), > C1(1000@1 mwait.1), PSS > acpicpu2 at acpi0: C3(200@1034 mwait.1@0x60), C2(200@120 mwait.1@0x32), > C1(1000@1 mwait.1), PSS > acpicpu3 at acpi0: C3(200@1034 mwait.1@0x60), C2(200@120 mwait.1@0x32), > C1(1000@1 mwait.1), PSS > acpipwrres5 at acpi0: FN00, resource for FAN0 > acpipwrres6 at acpi0: FN01, resource for FAN1 > acpipwrres7 at acpi0: FN02, resource for FAN2 > acpipwrres8 at acpi0: FN03, resource for FAN3 > acpipwrres9 at acpi0: FN04, resource for FAN4 > acpitz0 at acpi0: critical temperature is 119 degC > acpipwrres10 at acpi0: PIN_ > acpivideo0 at acpi0: GFX0 > cpu0: using VERW MDS workaround (except on vmm entry) > cpu0: Enhanced SpeedStep 3593 MHz: speeds: 3601, 3600, 3400, 3200, 3000, > 2800, 2600, 2400, 2200, 2000, 1800, 1600, 1400, 1200, 1000, 800 MHz > pci0 at mainbus0 bus 0 > pchb0 at pci0 dev 0 function 0 "Intel Core 8G Host" rev 0x08 > ppb0 at pci0 dev 1 function 0 "Intel Core 6G PCIE" rev 0x08: msi > pci1 at ppb0 bus 1 > amdgpu0 at pci1 dev 0 function 0 "ATI Polaris 10" rev 0xe7 > drm0 at amdgpu0 > amdgpu0: msi > azalia0 at pci1 dev 0 function 1 vendor "ATI", unknown product 0xaaf0 rev > 0x00: msi > azalia0: no supported codecs > xhci0 at pci0 dev 20 function 0 "Intel 300 Series xHCI" rev 0x10: msi, xHCI > 1.10 > usb0 at xhci0: USB revision 3.0 > uhub0 at usb0 configuration 1 interface 0 "Intel xHCI root hub" rev 3.00/1.00 > addr 1 > "Intel 300 Series Shared SRAM" rev 0x10 at pci0 dev 20 function 2 not > configured > "Intel 300 Series HECI" rev 0x10 at pci0 dev 22 function 0 not configured > ahci0 at pci0 dev 23 function 0 "Intel 300 Series AHCI" rev 0x10: msi, AHCI > 1.3.1 > ahci0: PHY offline on port 0 > ahci0: PHY offline on port 1 > ahci0: PHY offline on port 2 > ahci0: PHY offline on port 3 > ahci0: PHY offline on port 4 > ahci0: port 5: 1.5Gb/s > scsibus1 at ahci0: 32 targets > cd0 at scsibus1 targ 5 lun 0: <ASUS, DRW-24D5MT, 2.00> removable > ppb1 at pci0 dev 27 function 0 "Intel 300 Series PCIE" rev 0xf0: msi > pci2 at ppb1 bus 2 > nvme0 at pci2 dev 0 function 0 "Samsung SM981/PM981 NVMe" rev 0x00: msix, > NVMe 1.3 > nvme0: Samsung SSD 970 EVO Plus 250GB, firmware 2B2QEXM7, serial > S4EUNJ0N110600M > scsibus2 at nvme0: 2 targets, initiator 0 > sd0 at scsibus2 targ 1 lun 0: <NVMe, Samsung SSD 970, 2B2Q> > sd0: 238475MB, 512 bytes/sector, 488397168 sectors > ppb2 at pci0 dev 28 function 0 "Intel 300 Series PCIE" rev 0xf0: msi > pci3 at ppb2 bus 3 > ppb3 at pci0 dev 29 function 0 "Intel 300 Series PCIE" rev 0xf0: msi > pci4 at ppb3 bus 4 > nvme1 at pci4 dev 0 function 0 "Samsung SM981/PM981 NVMe" rev 0x00: msix, > NVMe 1.3 > nvme1: Samsung SSD 970 EVO Plus 250GB, firmware 2B2QEXM7, serial > S4EUNF0MA32670W > scsibus3 at nvme1: 2 targets, initiator 0 > sd1 at scsibus3 targ 1 lun 0: <NVMe, Samsung SSD 970, 2B2Q> > sd1: 238475MB, 512 bytes/sector, 488397168 sectors > pcib0 at pci0 dev 31 function 0 "Intel B360 LPC" rev 0x10 > azalia1 at pci0 dev 31 function 3 "Intel 300 Series cAVS" rev 0x10: msi > azalia1: codecs: Realtek ALC1220 > audio0 at azalia1 > ichiic0 at pci0 dev 31 function 4 "Intel 300 Series SMBus" rev 0x10: apic 2 > int 16 > iic0 at ichiic0 > iic0: addr 0x20 0b=33 0c=33 0d=dd 0e=dd 0f=44 10=43 13=73 15=ab 16=11 17=b2 > 19=80 1a=61 1b=68 1c=22 1d=0f 1e=2c 20=90 21=80 22=49 23=44 2a=2a 2d=22 2e=dd > 2f=44 31=73 33=ab 37=8a 38=51 39=0f 3a=2c 3b=48 3c=44 43=29 44=26 48=07 92=0b > b2=29 words 00=00ff 01=00ff 02=00ff 03=00ff 04=00ff 05=00ff 06=00ff 07=00ff > spdmem0 at iic0 addr 0x51: 8GB DDR4 SDRAM PC4-19200 > spdmem1 at iic0 addr 0x53: 8GB DDR4 SDRAM PC4-19200 > "Intel 300 Series SPI" rev 0x10 at pci0 dev 31 function 5 not configured > em0 at pci0 dev 31 function 6 "Intel I219-V" rev 0x10: msi, address > a8:5e:45:6c:f3:d6 > isa0 at pcib0 > isadma0 at isa0 > com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo > pckbc0 at isa0 port 0x60/5 irq 1 irq 12 > pckbd0 at pckbc0 (kbd slot) > wskbd0 at pckbd0: console keyboard > pcppi0 at isa0 port 0x61 > spkr0 at pcppi0 > lm0 at isa0 port 0x290/8: W83627DHG > efifb at mainbus0 not configured > uhidev0 at uhub0 port 3 configuration 1 interface 0 "SteelSeries Kinzu V2 > Gaming Mouse" rev 1.10/0.96 addr 2 > uhidev0: iclass 3/0 > uhid0 at uhidev0: input=32, output=32, feature=255 > uhidev1 at uhub0 port 3 configuration 1 interface 1 "SteelSeries Kinzu V2 > Gaming Mouse" rev 1.10/0.96 addr 2 > uhidev1: iclass 3/1 > ums0 at uhidev1: 8 buttons, Z dir > wsmouse0 at ums0 mux 0 > uhidev2 at uhub0 port 4 configuration 1 interface 0 "TypeMatrix.com USB > Keyboard" rev 1.10/1.50 addr 3 > uhidev2: iclass 3/1 > ukbd0 at uhidev2: 8 variable keys, 6 key codes > wskbd1 at ukbd0 mux 1 > uhidev3 at uhub0 port 4 configuration 1 interface 1 "TypeMatrix.com USB > Keyboard" rev 1.10/1.50 addr 3 > uhidev3: iclass 3/1, 3 report ids > uhid1 at uhidev3 reportid 1: input=1, output=0, feature=0 > uhid2 at uhidev3 reportid 2: input=2, output=0, feature=0 > uhid3 at uhidev3 reportid 3: input=2, output=1, feature=0 > vscsi0 at root > scsibus4 at vscsi0: 256 targets > softraid0 at root > scsibus5 at softraid0: 256 targets > root on sd0a (f955e923ceba4582.a) swap on sd0b dump on sd0b > amdgpu0: POLARIS10 36 CU rev 0x01 > amdgpu0: 1920x1200, 32bpp > wsdisplay0 at amdgpu0 mux 1: console (std, vt100 emulation), using wskbd0 > wskbd1: connecting to wsdisplay0 > wsdisplay0: screen 1-5 added (std, vt100 emulation) > wskbd1: disconnecting from wsdisplay0 > wskbd1 detached > ukbd0 detached > uhidev2 detached > uhid1 detached > uhid2 detached > uhid3 detached > uhidev3 detached > uhidev2 at uhub0 port 4 configuration 1 interface 0 "TypeMatrix.com USB > Keyboard" rev 1.10/1.50 addr 3 > uhidev2: iclass 3/1 > ukbd0 at uhidev2: 8 variable keys, 6 key codes > wskbd1 at ukbd0: console keyboard, using wsdisplay0 > uhidev3 at uhub0 port 4 configuration 1 interface 1 "TypeMatrix.com USB > Keyboard" rev 1.10/1.50 addr 3 > uhidev3: iclass 3/1, 3 report ids > uhid1 at uhidev3 reportid 1: input=1, output=0, feature=0 > uhid2 at uhidev3 reportid 2: input=2, output=0, feature=0 > uhid3 at uhidev3 reportid 3: input=2, output=1, feature=0 > >
