[PATCH] drm/amd/amdgpu: decrease ttm bo priority to fix performance drop when VRAM pressure

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Mar 27, 2017 at 8:05 AM, Roger.He <Hongbo.He at amd.com> wrote:
> 1. When VRAM pressue and trigger huge evictions there is performance drop,
>    this patch fix it.
> 2. Also reserve priority for KFD using
>
> Change-Id: Idcd2db65be69d62bcbd7dfaa3bcf9bc964d6d122
> Signed-off-by: Roger.He <Hongbo.He at amd.com>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 4 +---
>  include/drm/ttm/ttm_bo_driver.h            | 2 +-
>  2 files changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
> index 434c931..d6b2de9 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
> @@ -405,10 +405,8 @@ int amdgpu_bo_create_restricted(struct amdgpu_device *adev,
>         if (unlikely(r != 0))
>                 return r;
>
> -       bo->tbo.priority = ilog2(bo->tbo.num_pages);
>         if (kernel)
> -               bo->tbo.priority *= 2;
> -       bo->tbo.priority = min(bo->tbo.priority, TTM_MAX_BO_PRIORITY - 1);
> +               bo->tbo.priority = 1;
>
>         if (flags & AMDGPU_GEM_CREATE_VRAM_CLEARED &&
>             bo->tbo.mem.placement & TTM_PL_FLAG_VRAM) {
> diff --git a/include/drm/ttm/ttm_bo_driver.h b/include/drm/ttm/ttm_bo_driver.h
> index c3d74be..7777d14 100644
> --- a/include/drm/ttm/ttm_bo_driver.h
> +++ b/include/drm/ttm/ttm_bo_driver.h
> @@ -42,7 +42,7 @@
>  #include <linux/spinlock.h>
>  #include <linux/reservation.h>
>
> -#define TTM_MAX_BO_PRIORITY    16U
> +#define TTM_MAX_BO_PRIORITY    4U

I'd suggest splitting this out as a separate patch.

Alex

>
>  struct ttm_backend_func {
>         /**
> --
> 2.7.4
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx


[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux