On 2020-08-06 10:43 a.m., Christian König wrote:
Am 06.08.20 um 10:01 schrieb Michel Dänzer:
On 2020-08-06 9:13 a.m., Christian König wrote:
Am 05.08.20 um 18:16 schrieb Michel Dänzer:
On 2020-06-29 5:19 p.m., Christian König wrote:
We only need the page array when the BO is about to be accessed.
So not only populate, but also create it on demand.
v2: move NULL check into ttm_tt_create() v3: fix the occurrence in ttm_bo_kmap_ttm as well
This broke amdgpu userptr functionality for me, in particular all GL_AMD_pinned_memory piglit tests, e.g.
.../piglit/bin/amd_pinned_memory decrement-offset -auto -fbo Offset is decremented, no wait. Mesa: User error: GL_INVALID_OPERATION in glBufferData [...] Unexpected GL error: GL_INVALID_OPERATION 0x502 (Error at tests/spec/amd_pinned_memory/test.c:214) PIGLIT: {"result": "fail" }
But no crashes? I would have expected a NULL pointer deref if we have missed call path.
No crashes. Since a GL error is raised, my guess would be that an ioctl which was previously succeeding is now returning an error.
Mhm, I can reproduce the problem that userptrs doesn't work any more. But even with the mentioned patch reverted that still doesn't work on the tip of drm-misc-next.
Maybe there are other changes affecting it as well, e.g.
e04be2310b5e "drm/ttm: further cleanup ttm_mem_reg handling" 1e691e244487 "drm/amdgpu: stop allocating dummy GTT nodes"
come to mind.
Are you sure your bisecting is right?
Fairly sure. If that commit works or its parent doesn't work for you, I can retry.