[Intel-xe] [PATCH] drm/xe: Fix BUG_ON during bind with prefetch

Welty, Brian brian.welty at intel.com
Thu Jul 13 19:15:32 UTC 2023



On 7/12/2023 10:08 PM, Matthew Brost wrote:
> On Wed, Jul 12, 2023 at 07:01:44PM -0700, Brian Welty wrote:
>> It was missed that print_ops needs to include DRM_GPUVA_OP_PREFETCH.
>>
>> Else we hit the impossible BUG_ON:
>> [  886.371040] ------------[ cut here ]------------
>> [  886.371047] kernel BUG at drivers/gpu/drm/xe/xe_vm.c:2234!
>> [  886.371216] invalid opcode: 0000 [#1] PREEMPT SMP NOPTI
>> [  886.371229] CPU: 1 PID: 3132 Comm: xe_exec_fault_m Tainted: G        W          6.4.0-xe+ #16
>> [  886.371257] RIP: 0010:vm_bind_ioctl_ops_create+0x45f/0x470 [xe]
>> ...
>> [  886.371517] Call Trace:
>> [  886.371525]  <TASK>
>> [  886.371531]  ? __die_body+0x1a/0x60
>> [  886.371546]  ? die+0x38/0x60
>> [  886.371557]  ? do_trap+0x10a/0x120
>> [  886.371568]  ? vm_bind_ioctl_ops_create+0x45f/0x470 [xe]
>>
>> Fixes: d39e49e2ad38 ("drm/xe: Port Xe to GPUVA")
>> Signed-off-by: Brian Welty <brian.welty at intel.com>
> 
> Thanks for the fix, clearly an error but way not print the op?

Yes, just I don't know the bind logic well enough to code it.....
Thanks for providing below!...  I will test that out and respin.

> 
>> ---
>>   drivers/gpu/drm/xe/xe_vm.c | 2 ++
>>   1 file changed, 2 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
>> index 6c216350084b..f96690e868aa 100644
>> --- a/drivers/gpu/drm/xe/xe_vm.c
>> +++ b/drivers/gpu/drm/xe/xe_vm.c
>> @@ -2230,6 +2230,8 @@ static void print_op(struct xe_device *xe, struct drm_gpuva_op *op)
>>   		       (ULL)xe_vma_start(vma), (ULL)xe_vma_size(vma),
>>   		       op->unmap.keep ? 1 : 0);
>>   		break;
>> +	case DRM_GPUVA_OP_PREFETCH:
> 
> e.g.
>                  vma = gpuva_to_vma(op->prefetch.va);
>                  vm_dbg(&xe->drm, "PREFETCH: addr=0x%016llx, range=0x%016llx",
>                         xe_vma_start(vma), xe_vma_size(vma));
> 
> Matt
> 
>> +		break;
>>   	default:
>>   		XE_BUG_ON("NOT POSSIBLE");
>>   	}
>> -- 
>> 2.38.0
>>


More information about the Intel-xe mailing list