-----Original Message-----
From: Koenig, Christian 
Sent: Tuesday, November 28, 2017 6:01 PM
To: He, Roger <hongbo...@amd.com>; amd-gfx@lists.freedesktop.org
Subject: Re: [PATCH] drm/amd/amdgpu: set gtt size according to system memory 
size only

Am 28.11.2017 um 10:40 schrieb Roger He:
> Change-Id: Ib634375b90d875fe04a890fc82fb1e3b7112676a
> Signed-off-by: Roger He <hongbo...@amd.com>
> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 16 +++++++++++-----
>   1 file changed, 11 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c 
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> index 17bf0ce..d773c5e 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> @@ -1328,13 +1328,19 @@ int amdgpu_ttm_init(struct amdgpu_device 
> *adev)
>   
>       if (amdgpu_gtt_size == -1) {
>               struct sysinfo si;
> +             uint64_t sys_mem_size;
>   
>               si_meminfo(&si);
> -             gtt_size = min(max((AMDGPU_DEFAULT_GTT_SIZE_MB << 20),
> -                            adev->mc.mc_vram_size),
> -                            ((uint64_t)si.totalram * si.mem_unit * 3/4));
> -     }
> -     else
> +             sys_mem_size = (uint64_t)si.totalram * si.mem_unit;
> +             gtt_size = AMDGPU_DEFAULT_GTT_SIZE_MB << 20;
> +
> +             /* leave 2GB for OS to work with */
> +             if (sys_mem_size > (2ULL << 30)) {
> +                     gtt_size = max(gtt_size, sys_mem_size - (2ULL << 30));
> +             } else

No need for the "{}" here.

> +                     DRM_INFO("amdgpu: Too small system memory %llu MB\n",
> +                             sys_mem_size >> 20);
> +     } else

I have a preference to stick with the 75% rule similar to how TTM does things, 
but that isn't a hard opinion if you have a good argument.

[Roger]: originally I used the 75% rule as well. But for a special test case, 
test failed. Anyway, let's keep 75% here since seems it is more reasonable. And 
for the special test case, will use module parameter to change GTT size 
temporarily.


Thanks
Roger(Hongbo.He)




Regards,
Christian.

>               gtt_size = (uint64_t)amdgpu_gtt_size << 20;
>       r = ttm_bo_init_mm(&adev->mman.bdev, TTM_PL_TT, gtt_size >> PAGE_SHIFT);
>       if (r) {

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to