<p dir="ltr">Hi Christian,</p>
<p dir="ltr">That deqp failure was due to my deqp setup that always used 16Kx16K framebuffers.</p>
<p dir="ltr">I'm dropping this patch because it's obviously silly. It at least raised awareness of this issue.</p>
<p dir="ltr">Marek</p>
<div class="gmail_extra"><br><div class="gmail_quote">On Aug 2, 2016 7:30 PM, "Christian König" <<a href="mailto:deathsimple@vodafone.de">deathsimple@vodafone.de</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Am 02.08.2016 um 14:57 schrieb Alex Deucher:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Tue, Aug 2, 2016 at 4:55 AM, Marek Olšák <<a href="mailto:maraeo@gmail.com" target="_blank">maraeo@gmail.com</a>> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Tue, Aug 2, 2016 at 3:13 AM, Michel Dänzer <<a href="mailto:michel@daenzer.net" target="_blank">michel@daenzer.net</a>> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 01.08.2016 16:35, Michel Dänzer wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 30.07.2016 06:42, Marek Olšák wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
From: Marek Olšák <<a href="mailto:marek.olsak@amd.com" target="_blank">marek.olsak@amd.com</a>><br>
<br>
This is controversial, but I don't see a better way out of this.<br>
<br>
Tonga has 2 GB of VRAM and 2 GB of GTT. amdgpu is not capable of submitting<br>
an IB referencing 1 GB of VRAM and 1 GB of GTT. The CS ioctl never succeeds<br>
even though it's far below the limits.<br>
<br>
Without this, "dEQP-GLES2.functional.color_clear.single_rgb" fails to<br>
submit an IB. With this, dEQP throws a framebuffer-incomplete exception<br>
and kills the process.<br>
<br>
IMO, failing the CS ioctl is worse for stability than failing big<br>
allocations.<br>
</blockquote>
I can agree with that, but this change can't reliably prevent CS ioctl<br>
failures:<br>
<br>
I believe the problem is mostly due to BOs which are pinned for scanout.<br>
Since up to 6 CRTCs can scan out different buffers at any time, in the<br>
worst case it may not be possible to place any BOs whose size is >= ~1/7<br>
of the VRAM size.<br>
<br>
At the end of the day, this needs to be solved in the kernel one way or<br>
another.<br>
</blockquote>
Or if you do want to avoid the problem in userspace for now, maybe use 1<br>
/ (number of CRTCs + 1) instead of hardcoding 1/3?<br>
</blockquote>
I don't know.<br>
<br>
I could avoid the problem by splitting buffers into 128MB blocks<br>
mapped into GPUVM consecutively, but that would prevent easy DMABUF<br>
sharing and CPU mappings would not be consecutive.<br>
</blockquote>
I think it could be fixed to a certain extent by handling migrations<br>
to/from vram iteratively rather than trying to move the whole buffer<br>
at once.  E.g., we may have enough room in vram, but not enough<br>
contiguous gtt aperture or system pages to map the whole buffer to do<br>
the transfer in one shot.<br>
</blockquote>
<br>
Additional to that paging VRAM should help a lot with that as well.<br>
<br>
Anyway I have both VRAM paging and splitting moves on my TODO list.<br>
<br>
Good to know that I can use "dEQP-GLES2.functional.color_clear.single_rgb" as a test case.<br>
<br>
Regards,<br>
Christian.<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Alex<br>
_______________________________________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org" target="_blank">mesa-dev@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
</blockquote>
<br>
<br>
</blockquote></div></div>