[Mesa-dev] [PATCH 0/4] RadeonSI: Upload constants to VRAM via SDMA

Dieter Nützel Dieter at nuetzel-hh.de
Tue Feb 12 04:10:14 UTC 2019


Am 12.02.2019 03:22, schrieb Dieter Nützel:
> Am 12.02.2019 00:40, schrieb Dieter Nützel:
>> Sorry that I step in so late, but the whole family recover slowly from
>> a bad flu...
>> 
>> Tried your 'latest" three series altogether with my Polaris 20 (NIR!).
>> UH and UV hang after some seconds reliable. VM faults. Have to dig
>> deeper in (remote) to get some logs.
> 
> UH
> 
> [47001.185090] amdgpu 0000:01:00.0: GPU fault detected: 147 0x0b384801
> for process heaven_x64 pid 18565 thread heaven_x64:cs0 pid 18586
> [47001.185094] amdgpu 0000:01:00.0:
> VM_CONTEXT1_PROTECTION_FAULT_ADDR   0x0373EF67
> [47001.185096] amdgpu 0000:01:00.0:
> VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x06048001
> [47001.185098] amdgpu 0000:01:00.0: VM fault (0x01, vmid 3, pasid
> 32786) at page 57929575, read from 'TC4' (0x54433400) (72)
> [47011.401741] [drm:amdgpu_job_timedout [amdgpu]] *ERROR* ring gfx
> timeout, signaled seq=11380701, emitted seq=11380703
> [47011.401784] [drm:amdgpu_job_timedout [amdgpu]] *ERROR* Process
> information: process  pid 0 thread  pid 0
> [47011.401787] amdgpu 0000:01:00.0: GPU reset begin!
> [47021.631605] [drm:amdgpu_dm_atomic_check [amdgpu]] *ERROR*
> [CRTC:49:crtc-0] hw_done or flip_done timed out

These GPU faults are SOLVED after reverting the SDMA (1-4) series.

>> But my reported Polaris triangle corruptions are solved, now.

These reported (last year) triangle corruptions are SOLVED _before_ all 
of these patches. GREAT!

>> W'll try to verify which patches fixed it.

If I have more time then I'll try to find the corresponding patch/fix.

Cheers,
Dieter

>> Look here:
>> https://www.phoronix.com/forums/forum/phoronix/latest-phoronix-articles/1079319-running-the-radeonsi-nir-back-end-with-mesa-19-1-git?p=1079390#post1079390
>> 
>> Greetings,
>> Dieter
>> 
>> Am 07.02.2019 02:21, schrieb Marek Olšák:
>>> Hi,
>>> 
>>> This patch series increases radeonsi performance in some cases.
>>> glxgears performance decreases slightly.
>>> 
>>> Visible VRAM is usually congested due to CPU accesses, which cause
>>> buffers to be evicted from that part of VRAM. This removes
>>> the congestion for all data pushed into const_uploader.
>>> 
>>> We have had many problems with const_uploader slowing stuff down due
>>> to visible VRAM congestion. The most recent one is this Starcraft 2
>>> issue report on github:
>>> 
>>> https://github.com/iXit/Mesa-3D/issues/333
>>> 
>>> Since const_uploader reuses buffers from the winsys buffer cache,
>>> the odds are that the reused buffers are already evicted, so the 
>>> first
>>> use is usually slower due to higher shader load latencies.
>>> 
>>> This series uses SDMA to get constants into VRAM, so it doesn't have
>>> any of the above drawbacks.
>>> 
>>> SC2 numbers with various other methods (from the github issue 
>>> report):
>>> - originally: 50-55 fps
>>> - changing const_uploader to STREAM: 75-80 fps
>>> - use stream_uploader for constants in Nine: 90 fps
>>> - this series: 105-110 fps
>>> 
>>> Trivial benchmarks such as glxgears can expect 20% decrease
>>> in performance due to the added cost of the SDMA CS ioctl that wasn't
>>> there before.
>>> 
>>> CPU-bound apps with many IBs are almost unaffected thanks to winsys
>>> multithreading.
>>> 
>>> Feedback welcome,
>>> 
>>> Thanks,
>>> Marek
>>> _______________________________________________
>>> mesa-dev mailing list
>>> mesa-dev at lists.freedesktop.org
>>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list