[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