[PATCH 01/13] ttm: abstruct evictable bo
Alex Deucher
alexdeucher at gmail.com
Wed May 9 16:04:39 UTC 2018
On Wed, May 9, 2018 at 6:06 AM, zhoucm1 <zhoucm1 at amd.com> wrote:
>
>
> On 2018年05月09日 17:50, Daniel Vetter wrote:
>>
>> On Wed, May 09, 2018 at 10:34:51AM +0200, Lucas Stach wrote:
>>>
>>> All of those changes are including a Change-Id that has no bearing in
>>> upstream patches and are missing a proper commit description explaining
>>> why a specific change is done.
>>
>> Imo the Change-Id: is ok if it makes people happy wrt internal tracking.
>> Linus might blow up, but there's lots of random nonsense that Linus blows
>> up on, so whatever.
>
> Yeah, Change-Id is just used internal, When upstreaming, it is removed.
> Alex, right? I'm not clear how you handle that when you upstream our
> internal patches.
Yes, I strip them off when we upstream the patches, but we use them
internally. For patch review just ignore them.
Alex
>
>>
>> Lack of real commit message that explains stuff is the real thing here I'd
>> say.
>
> Agree, lacking commit message is really bad, that could be because this is a
> big feature, I was busy with implementing before.
> If Christian agree with my this idea, I will update more commit for every
> patch when sending again.
>
> Thanks,
> David Zhou
>
>> -Daniel
>>
>>> Regards,
>>> Lucas
>>>
>>> Am Mittwoch, den 09.05.2018, 14:45 +0800 schrieb Chunming Zhou:
>>>>
>>>> Change-Id: Ie81985282fab1e564fc2948109fae2173613b465
>>>>>
>>>>> Signed-off-by: Chunming Zhou <david1.zhou at amd.com>
>>>>
>>>> ---
>>>> drivers/gpu/drm/ttm/ttm_bo.c | 35 ++++++++++++++++++++++++-----------
>>>> 1 file changed, 24 insertions(+), 11 deletions(-)
>>>>
>>>> diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c
>>>> index 98e06f8bf23b..15506682a0be 100644
>>>> --- a/drivers/gpu/drm/ttm/ttm_bo.c
>>>> +++ b/drivers/gpu/drm/ttm/ttm_bo.c
>>>> @@ -704,22 +704,20 @@ static bool ttm_bo_evict_swapout_allowable(struct
>>>> ttm_buffer_object *bo,
>>>>>
>>>>> return ret;
>>>>
>>>> }
>>>> -static int ttm_mem_evict_first(struct ttm_bo_device *bdev,
>>>>>
>>>>> - uint32_t mem_type,
>>>>> - const struct ttm_place *place,
>>>>> - struct ttm_operation_ctx *ctx)
>>>>
>>>> +static struct ttm_buffer_object *
>>>> +ttm_mem_get_evictable_bo(struct ttm_bo_device *bdev,
>>>>>
>>>>> + uint32_t mem_type,
>>>>> + const struct ttm_place *place,
>>>>> + struct ttm_operation_ctx *ctx,
>>>>> + bool *locked)
>>>>
>>>> {
>>>>>
>>>>> - struct ttm_bo_global *glob = bdev->glob;
>>>>> - struct ttm_mem_type_manager *man = &bdev->man[mem_type];
>>>>> struct ttm_buffer_object *bo = NULL;
>>>>> - bool locked = false;
>>>>> - unsigned i;
>>>>> - int ret;
>>>>> + struct ttm_mem_type_manager *man = &bdev->man[mem_type];
>>>>> + int i;
>>>>
>>>>
>>>>>
>>>>> - spin_lock(&glob->lru_lock);
>>>>> for (i = 0; i < TTM_MAX_BO_PRIORITY; ++i) {
>>>>> list_for_each_entry(bo, &man->lru[i], lru) {
>>>>> - if (!ttm_bo_evict_swapout_allowable(bo, ctx,
>>>>> &locked))
>>>>> + if (!ttm_bo_evict_swapout_allowable(bo, ctx,
>>>>> locked))
>>>>> continue;
>>>>
>>>>
>>>>>
>>>>> if (place &&
>>>>> !bdev->driver->eviction_valuable(bo,
>>>>
>>>> @@ -738,6 +736,21 @@ static int ttm_mem_evict_first(struct ttm_bo_device
>>>> *bdev,
>>>>>
>>>>> bo = NULL;
>>>>> }
>>>>
>>>>
>>>>>
>>>>> + return bo;
>>>>
>>>> +}
>>>> +
>>>> +static int ttm_mem_evict_first(struct ttm_bo_device *bdev,
>>>>>
>>>>> + uint32_t mem_type,
>>>>> + const struct ttm_place *place,
>>>>> + struct ttm_operation_ctx *ctx)
>>>>
>>>> +{
>>>>>
>>>>> + struct ttm_bo_global *glob = bdev->glob;
>>>>> + struct ttm_buffer_object *bo = NULL;
>>>>> + bool locked = false;
>>>>> + int ret;
>>>>
>>>> +
>>>>>
>>>>> + spin_lock(&glob->lru_lock);
>>>>> + bo = ttm_mem_get_evictable_bo(bdev, mem_type, place, ctx,
>>>>> &locked);
>>>>> if (!bo) {
>>>>> spin_unlock(&glob->lru_lock);
>>>>> return -EBUSY;
>>>
>>> _______________________________________________
>>> dri-devel mailing list
>>> dri-devel at lists.freedesktop.org
>>> https://lists.freedesktop.org/mailman/listinfo/dri-devel
>
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
More information about the amd-gfx
mailing list