[PATCH 1/2] drm/amdkfd: Fix recursive lock warnings

Christian König ckoenig.leichtzumerken at gmail.com
Mon Mar 15 10:17:36 UTC 2021


Am 13.03.21 um 03:43 schrieb Felix Kuehling:
> memalloc_nofs_save/restore are no longer sufficient to prevent recursive
> lock warnings when holding locks that can be taken in MMU notifiers. Use
> memalloc_noreclaim_save/restore instead.
>
> Fixes: f920e413ff9c ("mm: track mmu notifiers in fs_reclaim_acquire/release")
> Signed-off-by: Felix Kuehling <Felix.Kuehling at amd.com>

Reviewed-by: Christian König <christian.koenig at amd.com> for this one.

> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 6 +++---
>   1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> index 318eeea577b5..bc3951b71079 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> @@ -93,13 +93,13 @@ struct amdgpu_prt_cb {
>   static inline void amdgpu_vm_eviction_lock(struct amdgpu_vm *vm)
>   {
>   	mutex_lock(&vm->eviction_lock);
> -	vm->saved_flags = memalloc_nofs_save();
> +	vm->saved_flags = memalloc_noreclaim_save();
>   }
>   
>   static inline int amdgpu_vm_eviction_trylock(struct amdgpu_vm *vm)
>   {
>   	if (mutex_trylock(&vm->eviction_lock)) {
> -		vm->saved_flags = memalloc_nofs_save();
> +		vm->saved_flags = memalloc_noreclaim_save();
>   		return 1;
>   	}
>   	return 0;
> @@ -107,7 +107,7 @@ static inline int amdgpu_vm_eviction_trylock(struct amdgpu_vm *vm)
>   
>   static inline void amdgpu_vm_eviction_unlock(struct amdgpu_vm *vm)
>   {
> -	memalloc_nofs_restore(vm->saved_flags);
> +	memalloc_noreclaim_restore(vm->saved_flags);
>   	mutex_unlock(&vm->eviction_lock);
>   }
>   



More information about the amd-gfx mailing list