[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