From: zhoucm1 <david1.zhou-5C7GfCeVMHo@public.gmane.org>
To: "Alex Deucher"
<alexdeucher-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
"Christian König"
<deathsimple-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>
Cc: amd-gfx list <amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org>
Subject: Re: [PATCH] drm/amdgpu: fix amdgpu_ttm_bo_eviction_valuable
Date: Fri, 21 Apr 2017 16:37:41 +0800 [thread overview]
Message-ID: <58F9C4D5.7030804@amd.com> (raw)
In-Reply-To: <CADnq5_N2KHdP3vkiY4Cfg6dKEqk1kF8_17N6s9H_0E7yQNDciA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
On 2017年04月20日 20:48, Alex Deucher wrote:
> On Thu, Apr 20, 2017 at 7:49 AM, Christian König
> <deathsimple@vodafone.de> wrote:
>> From: Christian König <christian.koenig@amd.com>
>>
>> BOs not mapped into the GART are always valuable for an eviction. Otherwise we
>> don't correctly swap them out on VRAM evictions during memory pressure.
>>
>> Signed-off-by: Christian König <christian.koenig@amd.com>
> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Although it doesn't fix my issue, it seems more reasonable compared
previous, Reviewed-by: Chunming Zhou <david1.zhou@amd.com>
>
>> ---
>> drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 18 +++++++++++++-----
>> 1 file changed, 13 insertions(+), 5 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
>> index e5d460e..ab7317e 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
>> @@ -1040,11 +1040,17 @@ uint64_t amdgpu_ttm_tt_pte_flags(struct amdgpu_device *adev, struct ttm_tt *ttm,
>> static bool amdgpu_ttm_bo_eviction_valuable(struct ttm_buffer_object *bo,
>> const struct ttm_place *place)
>> {
>> - if (bo->mem.mem_type == TTM_PL_VRAM &&
>> - bo->mem.start == AMDGPU_BO_INVALID_OFFSET) {
>> - unsigned long num_pages = bo->mem.num_pages;
>> - struct drm_mm_node *node = bo->mem.mm_node;
>> + unsigned long num_pages = bo->mem.num_pages;
>> + struct drm_mm_node *node = bo->mem.mm_node;
>>
>> + if (bo->mem.start != AMDGPU_BO_INVALID_OFFSET)
>> + return ttm_bo_eviction_valuable(bo, place);
>> +
>> + switch (bo->mem.mem_type) {
>> + case TTM_PL_TT:
>> + return true;
>> +
>> + case TTM_PL_VRAM:
>> /* Check each drm MM node individually */
>> while (num_pages) {
>> if (place->fpfn < (node->start + node->size) &&
>> @@ -1054,8 +1060,10 @@ static bool amdgpu_ttm_bo_eviction_valuable(struct ttm_buffer_object *bo,
>> num_pages -= node->size;
>> ++node;
>> }
>> + break;
>>
>> - return false;
>> + default:
>> + break;
>> }
>>
>> return ttm_bo_eviction_valuable(bo, place);
>> --
>> 2.5.0
>>
>> _______________________________________________
>> amd-gfx mailing list
>> amd-gfx@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
> _______________________________________________
> amd-gfx mailing list
> amd-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
prev parent reply other threads:[~2017-04-21 8:37 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-20 11:49 [PATCH] drm/amdgpu: fix amdgpu_ttm_bo_eviction_valuable Christian König
[not found] ` <1492688977-1757-1-git-send-email-deathsimple-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>
2017-04-20 12:48 ` Alex Deucher
[not found] ` <CADnq5_N2KHdP3vkiY4Cfg6dKEqk1kF8_17N6s9H_0E7yQNDciA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-04-21 8:37 ` zhoucm1 [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=58F9C4D5.7030804@amd.com \
--to=david1.zhou-5c7gfcevmho@public.gmane.org \
--cc=alexdeucher-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
--cc=deathsimple-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.