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