On Fri, 13 Nov 2020 00:16:12 +1100 Jonathan Gray <j...@jsg.id.au> wrote:
> 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 "spec@glsl-1.30@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. Indeed, seems I screwed up A-B testing. Patch still seems relevant (for correctnes sake) but I do need to do more research. > > > > > 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 > > b...@fox.netzbasis.de:/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 > > > > >