<div dir="ltr"><span style="font-size:12.8px">Hi Michel,</span><div style="font-size:12.8px"><br></div><div style="font-size:12.8px"><div>About the hard lockup, I noticed that I cannot have it with the following conditions:</div><div><br></div><div>1. soft lockup fix (the 0->i change which avoids infinite loop)</div><div>2. Your suggestion: <span style="font-size:12.8px">(!(rbo->flags & RADEON_GEM_CPU_ACCESS)</span></div><div>3. radeon.gartsize=512 radeon.vramlimit=1024 (any other values above do not help, for example (1024, 1024) or (1024, 2048))</div><div><br></div><div>Without 1 and 2, but with 3, our test reproduces the soft lockup (just discovered few days ago).</div><div>Without 3 (and with or without 1., 2.), our test reproduces the hard lockup which one does not give any info in kern.log (sometimes some NUL ^@ characters but not always).</div><div><br></div><div><span style="font-size:12.8px">We are converting this repro test to a piglit test in order to share it but it will take some times. But to simplify it continuously uploads images with a size picked randomly and up to 4K. So TTM's eviction mechanism is hit a lot.</span><br></div><div><br></div><div>(The card is a ForePro W600 Cape Verde 2048M )</div><div><br></div><div>I am happy to try any other suggestion.</div><div><br></div><div>Thx</div><div>Julien</div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 24 March 2017 at 19:01, Julien Isorce <span dir="ltr"><<a href="mailto:julien.isorce@gmail.com" target="_blank">julien.isorce@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Michel,<div><br></div><div>No this change does not help on the other issue (hard lockup).</div><div>I have no tried it in combination with the 0 -> i change. </div><div><br></div><div>Thx anyway.</div><span class="HOEnZb"><font color="#888888"><div>Julien</div><div><br></div></font></span></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On 24 March 2017 at 10:03, Michel Dänzer <span dir="ltr"><<a href="mailto:michel@daenzer.net" target="_blank">michel@daenzer.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>On 24/03/17 12:31 AM, Zachary Michaels wrote:<br>
><br>
> I should also note that we are experiencing another issue where the<br>
> kernel locks up in similar circumstances. As Julien noted, we get no<br>
> output, and the watchdogs don't seem to work. It may be the case that<br>
> Xorg and our process are calling ttm_bo_mem_force_space concurrently,<br>
> but I don't think we have enough information yet to say for<br>
> sure. Reverting this commit does not fix that issue. I have some small<br>
> amount of evidence indicating that bos flagged for CPU access are<br>
> getting placed in CPU inaccessible memory. Could that cause this sort of<br>
> kernel lockup?<br>
<br>
</span>Possibly, does this help?<br>
<br>
diff --git a/drivers/gpu/drm/radeon/radeo<wbr>n_ttm.c b/drivers/gpu/drm/radeon/radeo<wbr>n_ttm.c<br>
index 37d68cd1f272..40d1bb467a71 100644<br>
--- a/drivers/gpu/drm/radeon/radeo<wbr>n_ttm.c<br>
+++ b/drivers/gpu/drm/radeon/radeo<wbr>n_ttm.c<br>
@@ -198,7 +198,8 @@ static void radeon_evict_flags(struct ttm_buffer_object *bo,<br>
<span>        case TTM_PL_VRAM:<br>
                if (rbo->rdev->ring[radeon_copy_r<wbr>ing_index(rbo->rdev)].ready == false)<br>
                        radeon_ttm_placement_from_doma<wbr>in(rbo, RADEON_GEM_DOMAIN_CPU);<br>
-               else if (rbo->rdev->mc.visible_vram_si<wbr>ze < rbo->rdev->mc.real_vram_size &&<br>
</span>+               else if (!(rbo->flags & RADEON_GEM_CPU_ACCESS) &&<br>
+                        rbo->rdev->mc.visible_vram_siz<wbr>e < rbo->rdev->mc.real_vram_size &&<br>
<span>                         bo->mem.start < (rbo->rdev->mc.visible_vram_si<wbr>ze >> PAGE_SHIFT)) {<br>
</span><span>                        unsigned fpfn = rbo->rdev->mc.visible_vram_siz<wbr>e >> PAGE_SHIFT;<br>
</span>                        int i;<br>
<div class="m_-1054403314543400146HOEnZb"><div class="m_-1054403314543400146h5"><br>
<br>
<br>
--<br>
Earthling Michel Dänzer               |               <a href="http://www.amd.com" rel="noreferrer" target="_blank">http://www.amd.com</a><br>
Libre software enthusiast             |             Mesa and X developer<br>
______________________________<wbr>_________________<br>
dri-devel mailing list<br>
<a href="mailto:dri-devel@lists.freedesktop.org" target="_blank">dri-devel@lists.freedesktop.or<wbr>g</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/dri-devel" rel="noreferrer" target="_blank">https://lists.freedesktop.org/<wbr>mailman/listinfo/dri-devel</a><br>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>