amd-staging-drm-next: Oops - BUG: unable to handle kernel NULL pointer dereference, bisected.
StDenis, Tom
Tom.StDenis at amd.com
Thu Jan 31 16:56:32 UTC 2019
On 2019-01-31 4:23 a.m., Przemek Socha wrote:
> Dnia środa, 30 stycznia 2019 13:42:33 CET piszesz:
>> Does the attached patch fix the issue?
>>
>> Christian.
>
> I have tested this one also - "drm/amdgpu: partial revert cleanup setting
> bulk_movable v2"
>
>> We still need to set bulk_movable to false when new BOs are added or removed.
>>
>> v2: also set it to false on removal
>>
>> Signed-off-by: Christian König <christian.koenig at amd.com>
>> ---
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 4 ++++
>> 1 file changed, 4 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/
>> amdgpu/amdgpu_vm.c
>> index 79f9dde70bc0..822546a149fa 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
>> @@ -332,6 +332,7 @@ static void amdgpu_vm_bo_base_init(struct
>> amdgpu_vm_bo_base *base,
>> if (bo->tbo.resv != vm->root.base.bo->tbo.resv)
>> return;
>>
>> + vm->bulk_moveable = false;
>> if (bo->tbo.type == ttm_bo_type_kernel)
>> amdgpu_vm_bo_relocated(base);
>> else
>> @@ -2772,6 +2773,9 @@ void amdgpu_vm_bo_rmv(struct amdgpu_device *adev,
>> struct amdgpu_vm_bo_base **base;
>>
>> if (bo) {
>> + if (bo->tbo.resv == vm->root.base.bo->tbo.resv)
>> + vm->bulk_moveable = false;
>> +
>> for (base = &bo_va->base.bo->vm_bo; *base;
>> base = &(*base)->next) {
>> if (*base != &bo_va->base)
>
> and so far I have no lockup and Oops, so I think this one is ok.
In my experience only the last chunk of the patch is necessary. Can you
try this without:
>> + vm->bulk_moveable = false;
Too?
Thanks,
Tom
More information about the amd-gfx
mailing list