On Fri Nov 28, 2025 at 3:14 PM CET, Alice Ryhl wrote:
> +static void
> +drm_gpuvm_bo_destroy_not_in_lists(struct drm_gpuvm_bo *vm_bo)
> +{
> +     struct drm_gpuvm *gpuvm = vm_bo->vm;
> +     const struct drm_gpuvm_ops *ops = gpuvm->ops;
> +     struct drm_gem_object *obj = vm_bo->obj;
> +
> +     if (ops && ops->vm_bo_free)
> +             ops->vm_bo_free(vm_bo);
> +     else
> +             kfree(vm_bo);
> +
> +     drm_gpuvm_put(gpuvm);
> +     drm_gem_object_put(obj);
> +}

I think to us it seems obvious, but I think for new people it might not be. Can
you please add a comment that mentions that this is about the evict and extobj
lists and explains how this is related to locking?

Reply via email to