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

Dieter Nützel Dieter at nuetzel-hh.de
Tue Feb 12 02:22:58 UTC 2019


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

> But my reported Polaris triangle corruptions are solved, now.
> W'll try to verify which patches fixed it.
> 
> 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


More information about the mesa-dev mailing list