<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><div>Julien</div><div><br></div></div><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 class="">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/<wbr>radeon_ttm.c b/drivers/gpu/drm/radeon/<wbr>radeon_ttm.c<br>
index 37d68cd1f272..40d1bb467a71 100644<br>
--- a/drivers/gpu/drm/radeon/<wbr>radeon_ttm.c<br>
+++ b/drivers/gpu/drm/radeon/<wbr>radeon_ttm.c<br>
@@ -198,7 +198,8 @@ static void radeon_evict_flags(struct ttm_buffer_object *bo,<br>
<span class="">        case TTM_PL_VRAM:<br>
                if (rbo->rdev->ring[radeon_copy_<wbr>ring_index(rbo->rdev)].ready == false)<br>
                        radeon_ttm_placement_from_<wbr>domain(rbo, RADEON_GEM_DOMAIN_CPU);<br>
-               else if (rbo->rdev->mc.visible_vram_<wbr>size < rbo->rdev->mc.real_vram_size &&<br>
</span>+               else if (!(rbo->flags & RADEON_GEM_CPU_ACCESS) &&<br>
+                        rbo->rdev->mc.visible_vram_<wbr>size < rbo->rdev->mc.real_vram_size &&<br>
<span class="">                         bo->mem.start < (rbo->rdev->mc.visible_vram_<wbr>size >> PAGE_SHIFT)) {<br>
</span><span class="">                        unsigned fpfn = rbo->rdev->mc.visible_vram_<wbr>size >> PAGE_SHIFT;<br>
</span>                        int i;<br>
<div class="HOEnZb"><div class="h5"><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">dri-devel@lists.freedesktop.<wbr>org</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>