From: Daniel Vetter <daniel-/w4YWyX8dFk@public.gmane.org>
To: "Christian König"
<ckoenig.leichtzumerken-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: David1.Zhou-5C7GfCeVMHo@public.gmane.org,
Marek.Olsak-5C7GfCeVMHo@public.gmane.org,
amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org,
Prike.Liang-5C7GfCeVMHo@public.gmane.org,
dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
Subject: Re: [PATCH 09/11] drm/ttm: convert EDEADLK into EAGAIN
Date: Wed, 15 May 2019 10:40:57 +0200 [thread overview]
Message-ID: <20190515084057.GC17751@phenom.ffwll.local> (raw)
In-Reply-To: <20190514123127.1650-9-christian.koenig-5C7GfCeVMHo@public.gmane.org>
On Tue, May 14, 2019 at 02:31:25PM +0200, Christian König wrote:
> Let userspace try again if we really run into a deadlock during eviction.
>
> This has a low chance of live locking, but with guaranteed forward process.
>
> Signed-off-by: Christian König <christian.koenig@amd.com>
> ---
> drivers/gpu/drm/ttm/ttm_bo.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c
> index a301c876ae31..ce85cd8b4970 100644
> --- a/drivers/gpu/drm/ttm/ttm_bo.c
> +++ b/drivers/gpu/drm/ttm/ttm_bo.c
> @@ -877,6 +877,8 @@ static int ttm_mem_evict_first(struct ttm_bo_device *bdev,
> acquire_ctx);
> if (ret) {
> ttm_bo_put(first_bo);
> + if (ret == -EDEADLK)
Is this the ww_mutex EDEADLK or something else? If the former then letting
that escape unhandling into userspace sounds like a kernel bug ...
-Daniel
> + ret = -EAGAIN;
> return ret;
> }
> spin_lock(&glob->lru_lock);
> --
> 2.17.1
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
next prev parent reply other threads:[~2019-05-15 8:40 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-14 12:31 [PATCH 01/11] drm/ttm: Make LRU removal optional Christian König
2019-05-14 12:31 ` [PATCH 02/11] drm/ttm: fix busy memory to fail other user v8 Christian König
[not found] ` <20190514123127.1650-2-christian.koenig-5C7GfCeVMHo@public.gmane.org>
2019-05-15 8:38 ` Daniel Vetter
2019-05-15 8:45 ` Daniel Vetter
2019-05-15 9:27 ` Christian König
[not found] ` <6f862969-3937-df25-949f-9740a90dd457-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2019-05-15 9:28 ` Christian König
[not found] ` <20190515084551.GD17751-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org>
2019-05-15 9:30 ` Christian König
[not found] ` <20190514123127.1650-1-christian.koenig-5C7GfCeVMHo@public.gmane.org>
2019-05-14 12:31 ` [PATCH 03/11] drm/ttm: remove the backing store if no placement is given Christian König
2019-05-14 12:31 ` [PATCH 04/11] drm/ttm: return immediately in case of a signal Christian König
2019-05-14 12:31 ` [PATCH 05/11] drm/ttm: remove manual placement preference Christian König
2019-05-14 12:31 ` [PATCH 06/11] drm/ttm: cleanup ttm_bo_mem_space Christian König
2019-05-14 12:31 ` [PATCH 08/11] drm/ttm: put new BOs immediately on the LRU Christian König
2019-05-14 12:31 ` [PATCH 09/11] drm/ttm: convert EDEADLK into EAGAIN Christian König
[not found] ` <20190514123127.1650-9-christian.koenig-5C7GfCeVMHo@public.gmane.org>
2019-05-15 8:40 ` Daniel Vetter [this message]
2019-05-15 9:28 ` Christian König
2019-05-14 12:31 ` [PATCH 11/11] drm/amdgpu: stop removing BOs from the LRU during CS Christian König
[not found] ` <20190514123127.1650-11-christian.koenig-5C7GfCeVMHo@public.gmane.org>
2019-05-14 13:12 ` Zhou, David(ChunMing)
2019-05-14 13:47 ` [PATCH " Christian König
[not found] ` <f9017911-b08a-1f98-3fc9-98121bbde78a-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2019-05-14 14:31 ` Zhou, David(ChunMing)
[not found] ` <-wsx1tz-kxfbz1yns7x33sra134gl11xhlux4lx3izissqr2httt4mb1vleyxgj8i7k6-q6ze8ub3ff8c4o0fxmx7niu76yg4-ybakue-3v14jw-ed5ol8ybh6o9-1ze886-hbstfi448pvq3pwhkj.1557844282594-2ueSQiBKiTY7tOexoI0I+QC/G2K4zDHf@public.gmane.org>
2019-05-15 14:16 ` [PATCH " Christian König
[not found] ` <451e8757-b509-c0f7-eced-6ccedc45117b-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2019-05-15 14:21 ` Zhou, David(ChunMing)
2019-05-15 14:22 ` [PATCH " Koenig, Christian
2019-05-15 14:27 ` Zhou, David(ChunMing)
2019-05-14 19:33 ` [PATCH " Marek Olšák
2019-05-15 2:00 ` Liang, Prike
[not found] ` <BYAPR12MB35256D8A0583B5DD019C2925FB090-ZGDeBxoHBPmbr42z19MNgwdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2019-05-15 7:04 ` Christian König
2019-05-17 8:16 ` Liang, Prike
2019-05-17 14:05 ` [PATCH 01/11] drm/ttm: Make LRU removal optional Zhou, David(ChunMing)
2019-05-14 12:31 ` [PATCH 07/11] drm/ttm: immediately move BOs to the new LRU Christian König
2019-05-14 12:31 ` [PATCH 10/11] drm/amd/display: use ttm_eu_reserve_buffers instead of amdgpu_bo_reserve v2 Christian König
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=20190515084057.GC17751@phenom.ffwll.local \
--to=daniel-/w4ywyx8dfk@public.gmane.org \
--cc=David1.Zhou-5C7GfCeVMHo@public.gmane.org \
--cc=Marek.Olsak-5C7GfCeVMHo@public.gmane.org \
--cc=Prike.Liang-5C7GfCeVMHo@public.gmane.org \
--cc=amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
--cc=ckoenig.leichtzumerken-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox