All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/1] drm/ttm: Ignore signaled move fences
@ 2021-02-27  3:45 ` Felix Kuehling
  0 siblings, 0 replies; 10+ messages in thread
From: Felix Kuehling @ 2021-02-27  3:45 UTC (permalink / raw)
  To: dri-devel, amd-gfx

Move fences that have already signaled should not prevent memory
allocations with no_wait_gpu.

Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
---
 drivers/gpu/drm/ttm/ttm_bo.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c
index 3a10bebb75d6..de1ec838cf8b 100644
--- a/drivers/gpu/drm/ttm/ttm_bo.c
+++ b/drivers/gpu/drm/ttm/ttm_bo.c
@@ -730,8 +730,9 @@ static int ttm_bo_add_move_fence(struct ttm_buffer_object *bo,
 		return 0;
 
 	if (no_wait_gpu) {
+		ret = dma_fence_is_signaled(fence) ? 0 : -EBUSY;
 		dma_fence_put(fence);
-		return -EBUSY;
+		return ret;
 	}
 
 	dma_resv_add_shared_fence(bo->base.resv, fence);
-- 
2.30.0

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

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 1/1] drm/ttm: Ignore signaled move fences
@ 2021-02-27  3:45 ` Felix Kuehling
  0 siblings, 0 replies; 10+ messages in thread
From: Felix Kuehling @ 2021-02-27  3:45 UTC (permalink / raw)
  To: dri-devel, amd-gfx

Move fences that have already signaled should not prevent memory
allocations with no_wait_gpu.

Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
---
 drivers/gpu/drm/ttm/ttm_bo.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c
index 3a10bebb75d6..de1ec838cf8b 100644
--- a/drivers/gpu/drm/ttm/ttm_bo.c
+++ b/drivers/gpu/drm/ttm/ttm_bo.c
@@ -730,8 +730,9 @@ static int ttm_bo_add_move_fence(struct ttm_buffer_object *bo,
 		return 0;
 
 	if (no_wait_gpu) {
+		ret = dma_fence_is_signaled(fence) ? 0 : -EBUSY;
 		dma_fence_put(fence);
-		return -EBUSY;
+		return ret;
 	}
 
 	dma_resv_add_shared_fence(bo->base.resv, fence);
-- 
2.30.0

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

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/1] drm/ttm: Ignore signaled move fences
  2021-02-27  3:45 ` Felix Kuehling
@ 2021-03-01 15:09   ` Christian König
  -1 siblings, 0 replies; 10+ messages in thread
From: Christian König @ 2021-03-01 15:09 UTC (permalink / raw)
  To: Felix Kuehling, dri-devel, amd-gfx

Am 27.02.21 um 04:45 schrieb Felix Kuehling:
> Move fences that have already signaled should not prevent memory
> allocations with no_wait_gpu.
>
> Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>

Reviewed-by: Christian König <christian.koenig@amd.com>

> ---
>   drivers/gpu/drm/ttm/ttm_bo.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c
> index 3a10bebb75d6..de1ec838cf8b 100644
> --- a/drivers/gpu/drm/ttm/ttm_bo.c
> +++ b/drivers/gpu/drm/ttm/ttm_bo.c
> @@ -730,8 +730,9 @@ static int ttm_bo_add_move_fence(struct ttm_buffer_object *bo,
>   		return 0;
>   
>   	if (no_wait_gpu) {
> +		ret = dma_fence_is_signaled(fence) ? 0 : -EBUSY;
>   		dma_fence_put(fence);
> -		return -EBUSY;
> +		return ret;
>   	}
>   
>   	dma_resv_add_shared_fence(bo->base.resv, fence);

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/1] drm/ttm: Ignore signaled move fences
@ 2021-03-01 15:09   ` Christian König
  0 siblings, 0 replies; 10+ messages in thread
From: Christian König @ 2021-03-01 15:09 UTC (permalink / raw)
  To: Felix Kuehling, dri-devel, amd-gfx

Am 27.02.21 um 04:45 schrieb Felix Kuehling:
> Move fences that have already signaled should not prevent memory
> allocations with no_wait_gpu.
>
> Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>

Reviewed-by: Christian König <christian.koenig@amd.com>

> ---
>   drivers/gpu/drm/ttm/ttm_bo.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c
> index 3a10bebb75d6..de1ec838cf8b 100644
> --- a/drivers/gpu/drm/ttm/ttm_bo.c
> +++ b/drivers/gpu/drm/ttm/ttm_bo.c
> @@ -730,8 +730,9 @@ static int ttm_bo_add_move_fence(struct ttm_buffer_object *bo,
>   		return 0;
>   
>   	if (no_wait_gpu) {
> +		ret = dma_fence_is_signaled(fence) ? 0 : -EBUSY;
>   		dma_fence_put(fence);
> -		return -EBUSY;
> +		return ret;
>   	}
>   
>   	dma_resv_add_shared_fence(bo->base.resv, fence);

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/1] drm/ttm: Ignore signaled move fences
  2021-03-01 15:09   ` Christian König
@ 2021-03-05  1:21     ` Felix Kuehling
  -1 siblings, 0 replies; 10+ messages in thread
From: Felix Kuehling @ 2021-03-05  1:21 UTC (permalink / raw)
  To: Christian König, dri-devel, amd-gfx


Am 2021-03-01 um 10:09 a.m. schrieb Christian König:
> Am 27.02.21 um 04:45 schrieb Felix Kuehling:
>> Move fences that have already signaled should not prevent memory
>> allocations with no_wait_gpu.
>>
>> Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
>
> Reviewed-by: Christian König <christian.koenig@amd.com>

I work on this on Alex's rebased amd-staging-drm-next. Should this go
into any other branches?

Thanks,
  Felix


>
>> ---
>>   drivers/gpu/drm/ttm/ttm_bo.c | 3 ++-
>>   1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c
>> index 3a10bebb75d6..de1ec838cf8b 100644
>> --- a/drivers/gpu/drm/ttm/ttm_bo.c
>> +++ b/drivers/gpu/drm/ttm/ttm_bo.c
>> @@ -730,8 +730,9 @@ static int ttm_bo_add_move_fence(struct
>> ttm_buffer_object *bo,
>>           return 0;
>>         if (no_wait_gpu) {
>> +        ret = dma_fence_is_signaled(fence) ? 0 : -EBUSY;
>>           dma_fence_put(fence);
>> -        return -EBUSY;
>> +        return ret;
>>       }
>>         dma_resv_add_shared_fence(bo->base.resv, fence);
>
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/1] drm/ttm: Ignore signaled move fences
@ 2021-03-05  1:21     ` Felix Kuehling
  0 siblings, 0 replies; 10+ messages in thread
From: Felix Kuehling @ 2021-03-05  1:21 UTC (permalink / raw)
  To: Christian König, dri-devel, amd-gfx


Am 2021-03-01 um 10:09 a.m. schrieb Christian König:
> Am 27.02.21 um 04:45 schrieb Felix Kuehling:
>> Move fences that have already signaled should not prevent memory
>> allocations with no_wait_gpu.
>>
>> Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
>
> Reviewed-by: Christian König <christian.koenig@amd.com>

I work on this on Alex's rebased amd-staging-drm-next. Should this go
into any other branches?

Thanks,
  Felix


>
>> ---
>>   drivers/gpu/drm/ttm/ttm_bo.c | 3 ++-
>>   1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c
>> index 3a10bebb75d6..de1ec838cf8b 100644
>> --- a/drivers/gpu/drm/ttm/ttm_bo.c
>> +++ b/drivers/gpu/drm/ttm/ttm_bo.c
>> @@ -730,8 +730,9 @@ static int ttm_bo_add_move_fence(struct
>> ttm_buffer_object *bo,
>>           return 0;
>>         if (no_wait_gpu) {
>> +        ret = dma_fence_is_signaled(fence) ? 0 : -EBUSY;
>>           dma_fence_put(fence);
>> -        return -EBUSY;
>> +        return ret;
>>       }
>>         dma_resv_add_shared_fence(bo->base.resv, fence);
>
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/1] drm/ttm: Ignore signaled move fences
  2021-03-05  1:21     ` Felix Kuehling
@ 2021-03-05  7:56       ` Christian König
  -1 siblings, 0 replies; 10+ messages in thread
From: Christian König @ 2021-03-05  7:56 UTC (permalink / raw)
  To: Felix Kuehling, dri-devel, amd-gfx



Am 05.03.21 um 02:21 schrieb Felix Kuehling:
> Am 2021-03-01 um 10:09 a.m. schrieb Christian König:
>> Am 27.02.21 um 04:45 schrieb Felix Kuehling:
>>> Move fences that have already signaled should not prevent memory
>>> allocations with no_wait_gpu.
>>>
>>> Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
>> Reviewed-by: Christian König <christian.koenig@amd.com>
> I work on this on Alex's rebased amd-staging-drm-next. Should this go
> into any other branches?

I have a branch with stuff for 5.13 which I want to push to 
drm-misc-next as soon as 5.12-rc1 is out.

Going to add this one here to that collection as well unless you say 
that this is really a bug fix and we need it earlier.

Regards,
Christian.

>
> Thanks,
>    Felix
>
>
>>> ---
>>>    drivers/gpu/drm/ttm/ttm_bo.c | 3 ++-
>>>    1 file changed, 2 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c
>>> index 3a10bebb75d6..de1ec838cf8b 100644
>>> --- a/drivers/gpu/drm/ttm/ttm_bo.c
>>> +++ b/drivers/gpu/drm/ttm/ttm_bo.c
>>> @@ -730,8 +730,9 @@ static int ttm_bo_add_move_fence(struct
>>> ttm_buffer_object *bo,
>>>            return 0;
>>>          if (no_wait_gpu) {
>>> +        ret = dma_fence_is_signaled(fence) ? 0 : -EBUSY;
>>>            dma_fence_put(fence);
>>> -        return -EBUSY;
>>> +        return ret;
>>>        }
>>>          dma_resv_add_shared_fence(bo->base.resv, fence);

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/1] drm/ttm: Ignore signaled move fences
@ 2021-03-05  7:56       ` Christian König
  0 siblings, 0 replies; 10+ messages in thread
From: Christian König @ 2021-03-05  7:56 UTC (permalink / raw)
  To: Felix Kuehling, dri-devel, amd-gfx



Am 05.03.21 um 02:21 schrieb Felix Kuehling:
> Am 2021-03-01 um 10:09 a.m. schrieb Christian König:
>> Am 27.02.21 um 04:45 schrieb Felix Kuehling:
>>> Move fences that have already signaled should not prevent memory
>>> allocations with no_wait_gpu.
>>>
>>> Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
>> Reviewed-by: Christian König <christian.koenig@amd.com>
> I work on this on Alex's rebased amd-staging-drm-next. Should this go
> into any other branches?

I have a branch with stuff for 5.13 which I want to push to 
drm-misc-next as soon as 5.12-rc1 is out.

Going to add this one here to that collection as well unless you say 
that this is really a bug fix and we need it earlier.

Regards,
Christian.

>
> Thanks,
>    Felix
>
>
>>> ---
>>>    drivers/gpu/drm/ttm/ttm_bo.c | 3 ++-
>>>    1 file changed, 2 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c
>>> index 3a10bebb75d6..de1ec838cf8b 100644
>>> --- a/drivers/gpu/drm/ttm/ttm_bo.c
>>> +++ b/drivers/gpu/drm/ttm/ttm_bo.c
>>> @@ -730,8 +730,9 @@ static int ttm_bo_add_move_fence(struct
>>> ttm_buffer_object *bo,
>>>            return 0;
>>>          if (no_wait_gpu) {
>>> +        ret = dma_fence_is_signaled(fence) ? 0 : -EBUSY;
>>>            dma_fence_put(fence);
>>> -        return -EBUSY;
>>> +        return ret;
>>>        }
>>>          dma_resv_add_shared_fence(bo->base.resv, fence);

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/1] drm/ttm: Ignore signaled move fences
  2021-03-05  7:56       ` Christian König
@ 2021-03-05 18:20         ` Felix Kuehling
  -1 siblings, 0 replies; 10+ messages in thread
From: Felix Kuehling @ 2021-03-05 18:20 UTC (permalink / raw)
  To: Christian König, dri-devel, amd-gfx

It fixed an intermittent failure to allocate page tables in the page
fault handler (turning retry faults into no-retry faults). I'm not sure
if this caused real problems. I think it could potentially result in
fault storms and a failure to report page faults properly. I'm not sure
if it's a regression or was always present. So I'm not sure if it's an
urgent fix.

Regards,
  Felix

Am 2021-03-05 um 2:56 a.m. schrieb Christian König:
>
>
> Am 05.03.21 um 02:21 schrieb Felix Kuehling:
>> Am 2021-03-01 um 10:09 a.m. schrieb Christian König:
>>> Am 27.02.21 um 04:45 schrieb Felix Kuehling:
>>>> Move fences that have already signaled should not prevent memory
>>>> allocations with no_wait_gpu.
>>>>
>>>> Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
>>> Reviewed-by: Christian König <christian.koenig@amd.com>
>> I work on this on Alex's rebased amd-staging-drm-next. Should this go
>> into any other branches?
>
> I have a branch with stuff for 5.13 which I want to push to
> drm-misc-next as soon as 5.12-rc1 is out.
>
> Going to add this one here to that collection as well unless you say
> that this is really a bug fix and we need it earlier.
>
> Regards,
> Christian.
>
>>
>> Thanks,
>>    Felix
>>
>>
>>>> ---
>>>>    drivers/gpu/drm/ttm/ttm_bo.c | 3 ++-
>>>>    1 file changed, 2 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git a/drivers/gpu/drm/ttm/ttm_bo.c
>>>> b/drivers/gpu/drm/ttm/ttm_bo.c
>>>> index 3a10bebb75d6..de1ec838cf8b 100644
>>>> --- a/drivers/gpu/drm/ttm/ttm_bo.c
>>>> +++ b/drivers/gpu/drm/ttm/ttm_bo.c
>>>> @@ -730,8 +730,9 @@ static int ttm_bo_add_move_fence(struct
>>>> ttm_buffer_object *bo,
>>>>            return 0;
>>>>          if (no_wait_gpu) {
>>>> +        ret = dma_fence_is_signaled(fence) ? 0 : -EBUSY;
>>>>            dma_fence_put(fence);
>>>> -        return -EBUSY;
>>>> +        return ret;
>>>>        }
>>>>          dma_resv_add_shared_fence(bo->base.resv, fence);
>
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/1] drm/ttm: Ignore signaled move fences
@ 2021-03-05 18:20         ` Felix Kuehling
  0 siblings, 0 replies; 10+ messages in thread
From: Felix Kuehling @ 2021-03-05 18:20 UTC (permalink / raw)
  To: Christian König, dri-devel, amd-gfx

It fixed an intermittent failure to allocate page tables in the page
fault handler (turning retry faults into no-retry faults). I'm not sure
if this caused real problems. I think it could potentially result in
fault storms and a failure to report page faults properly. I'm not sure
if it's a regression or was always present. So I'm not sure if it's an
urgent fix.

Regards,
  Felix

Am 2021-03-05 um 2:56 a.m. schrieb Christian König:
>
>
> Am 05.03.21 um 02:21 schrieb Felix Kuehling:
>> Am 2021-03-01 um 10:09 a.m. schrieb Christian König:
>>> Am 27.02.21 um 04:45 schrieb Felix Kuehling:
>>>> Move fences that have already signaled should not prevent memory
>>>> allocations with no_wait_gpu.
>>>>
>>>> Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
>>> Reviewed-by: Christian König <christian.koenig@amd.com>
>> I work on this on Alex's rebased amd-staging-drm-next. Should this go
>> into any other branches?
>
> I have a branch with stuff for 5.13 which I want to push to
> drm-misc-next as soon as 5.12-rc1 is out.
>
> Going to add this one here to that collection as well unless you say
> that this is really a bug fix and we need it earlier.
>
> Regards,
> Christian.
>
>>
>> Thanks,
>>    Felix
>>
>>
>>>> ---
>>>>    drivers/gpu/drm/ttm/ttm_bo.c | 3 ++-
>>>>    1 file changed, 2 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git a/drivers/gpu/drm/ttm/ttm_bo.c
>>>> b/drivers/gpu/drm/ttm/ttm_bo.c
>>>> index 3a10bebb75d6..de1ec838cf8b 100644
>>>> --- a/drivers/gpu/drm/ttm/ttm_bo.c
>>>> +++ b/drivers/gpu/drm/ttm/ttm_bo.c
>>>> @@ -730,8 +730,9 @@ static int ttm_bo_add_move_fence(struct
>>>> ttm_buffer_object *bo,
>>>>            return 0;
>>>>          if (no_wait_gpu) {
>>>> +        ret = dma_fence_is_signaled(fence) ? 0 : -EBUSY;
>>>>            dma_fence_put(fence);
>>>> -        return -EBUSY;
>>>> +        return ret;
>>>>        }
>>>>          dma_resv_add_shared_fence(bo->base.resv, fence);
>
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2021-03-05 18:20 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-27  3:45 [PATCH 1/1] drm/ttm: Ignore signaled move fences Felix Kuehling
2021-02-27  3:45 ` Felix Kuehling
2021-03-01 15:09 ` Christian König
2021-03-01 15:09   ` Christian König
2021-03-05  1:21   ` Felix Kuehling
2021-03-05  1:21     ` Felix Kuehling
2021-03-05  7:56     ` Christian König
2021-03-05  7:56       ` Christian König
2021-03-05 18:20       ` Felix Kuehling
2021-03-05 18:20         ` Felix Kuehling

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.