[PATCH 1/3] drm/ttm: add bit flag TTM_OPT_FLAG_FORCE_ALLOC

Christian König christian.koenig at amd.com
Fri Feb 9 12:00:51 UTC 2018


Am 09.02.2018 um 11:00 schrieb Roger He:
> set TTM_OPT_FLAG_FORCE_ALLOC when we are servicing for page
> fault routine.
>
> for ttm_mem_global_reserve if in page fault routine, allow the gtt
> pages reservation always. because page fault routing already grabbed
> system memory and the allowance of this exception is harmless.
> Otherwise, it will trigger OOM killer.
>
> will be used later.
>
> v2: set the FORCE_ALLOC always
> v3: minor refine
>
> Signed-off-by: Roger He <Hongbo.He at amd.com>

Patches #1 and #2 are Reviewed-by: Christian König 
<christian.koenig at amd.com>.

Regards,
Christian.

> ---
>   drivers/gpu/drm/ttm/ttm_bo_vm.c | 4 +++-
>   include/drm/ttm/ttm_bo_api.h    | 4 +++-
>   2 files changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/ttm/ttm_bo_vm.c b/drivers/gpu/drm/ttm/ttm_bo_vm.c
> index 716e724..7ad8d70 100644
> --- a/drivers/gpu/drm/ttm/ttm_bo_vm.c
> +++ b/drivers/gpu/drm/ttm/ttm_bo_vm.c
> @@ -226,7 +226,9 @@ static int ttm_bo_vm_fault(struct vm_fault *vmf)
>   	} else {
>   		struct ttm_operation_ctx ctx = {
>   			.interruptible = false,
> -			.no_wait_gpu = false
> +			.no_wait_gpu = false,
> +			.flags = TTM_OPT_FLAG_FORCE_ALLOC
> +
>   		};
>   
>   		ttm = bo->ttm;
> diff --git a/include/drm/ttm/ttm_bo_api.h b/include/drm/ttm/ttm_bo_api.h
> index 872ff6c..2142639 100644
> --- a/include/drm/ttm/ttm_bo_api.h
> +++ b/include/drm/ttm/ttm_bo_api.h
> @@ -278,7 +278,9 @@ struct ttm_operation_ctx {
>   };
>   
>   /* Allow eviction of reserved BOs */
> -#define TTM_OPT_FLAG_ALLOW_RES_EVICT	0x1
> +#define TTM_OPT_FLAG_ALLOW_RES_EVICT		0x1
> +/* when serving page fault or suspend, allow alloc anyway */
> +#define TTM_OPT_FLAG_FORCE_ALLOC		0x2
>   
>   /**
>    * ttm_bo_reference - reference a struct ttm_buffer_object



More information about the dri-devel mailing list