All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Hellstrom <thellstrom@vmware.com>
To: Alex Deucher <alexdeucher@gmail.com>,
	Maling list - DRI developers <dri-devel@lists.freedesktop.org>
Cc: Alex Deucher <alexander.deucher@amd.com>,
	Flora Cui <Flora.Cui@amd.com>, "for 3.8" <stable@vger.kernel.org>
Subject: Re: [PATCH] drm/ttm: fix kref count mess in ttm_bo_move_to_lru_tail
Date: Wed, 27 Apr 2016 17:34:05 +0200	[thread overview]
Message-ID: <5720DBED.3000507@vmware.com> (raw)
In-Reply-To: <CADnq5_N+2wBqtqW-c=vezQE1UeVoOyPe5AKbp6TDwpd7-oP93A@mail.gmail.com>

LGTM

Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com>


On 04/26/2016 06:50 AM, Alex Deucher wrote:
> Ping.  Any objections?
>
>
> On Wed, Apr 20, 2016 at 1:52 PM, Alex Deucher <alexdeucher@gmail.com> wrote:
>> From: Flora Cui <Flora.Cui@amd.com>
>>
>> Fixes the following scenario:
>>
>> 1. Page table bo allocated in vram and linked to man->lru.
>>    tbo->list_kref.refcount=2
>> 2. Page table bo is swapped out and removed from man->lru.
>>    tbo->list_kref.refcount=1
>> 3. Command submission from userspace.  Page table bo is moved
>>    to vram.  ttm_bo_move_to_lru_tail() link it to man->lru and
>>    don't increase the kref count.
>>
>> Signed-off-by: Flora Cui <Flora.Cui@amd.com>
>> Reviewed-by: Christian König <christian.koenig@amd.com>
>> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
>> Cc: stable@vger.kernel.org
>> ---
>>  drivers/gpu/drm/ttm/ttm_bo.c | 17 ++++-------------
>>  1 file changed, 4 insertions(+), 13 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c
>> index 4cbf265..e3daafa 100644
>> --- a/drivers/gpu/drm/ttm/ttm_bo.c
>> +++ b/drivers/gpu/drm/ttm/ttm_bo.c
>> @@ -230,22 +230,13 @@ EXPORT_SYMBOL(ttm_bo_del_sub_from_lru);
>>
>>  void ttm_bo_move_to_lru_tail(struct ttm_buffer_object *bo)
>>  {
>> -       struct ttm_bo_device *bdev = bo->bdev;
>> -       struct ttm_mem_type_manager *man;
>> +       int put_count = 0;
>>
>>         lockdep_assert_held(&bo->resv->lock.base);
>>
>> -       if (bo->mem.placement & TTM_PL_FLAG_NO_EVICT) {
>> -               list_del_init(&bo->swap);
>> -               list_del_init(&bo->lru);
>> -
>> -       } else {
>> -               if (bo->ttm && !(bo->ttm->page_flags & TTM_PAGE_FLAG_SG))
>> -                       list_move_tail(&bo->swap, &bo->glob->swap_lru);
>> -
>> -               man = &bdev->man[bo->mem.mem_type];
>> -               list_move_tail(&bo->lru, &man->lru);
>> -       }
>> +       put_count = ttm_bo_del_from_lru(bo);
>> +       ttm_bo_list_ref_sub(bo, put_count, true);
>> +       ttm_bo_add_to_lru(bo);
>>  }
>>  EXPORT_SYMBOL(ttm_bo_move_to_lru_tail);
>>
>> --
>> 2.5.5
>>

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

      reply	other threads:[~2016-04-27 15:34 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-20 17:52 [PATCH] drm/ttm: fix kref count mess in ttm_bo_move_to_lru_tail Alex Deucher
2016-04-20 17:52 ` Alex Deucher
2016-04-26  4:50 ` Alex Deucher
2016-04-27 15:34   ` Thomas Hellstrom [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=5720DBED.3000507@vmware.com \
    --to=thellstrom@vmware.com \
    --cc=Flora.Cui@amd.com \
    --cc=alexander.deucher@amd.com \
    --cc=alexdeucher@gmail.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=stable@vger.kernel.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.