[2/2] drm/ttm: make TT creation purely optional v3

Michel Dänzer michel at daenzer.net
Thu Aug 6 09:05:12 UTC 2020


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.


-- 
Earthling Michel Dänzer               |               https://redhat.com
Libre software enthusiast             |             Mesa and X developer


More information about the dri-devel mailing list