From: "Christian König" <ckoenig.leichtzumerken-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: "Liang, Prike" <Prike.Liang-5C7GfCeVMHo@public.gmane.org>,
"Marek Olšák" <maraeo-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: "Zhou,
David(ChunMing)" <David1.Zhou-5C7GfCeVMHo@public.gmane.org>,
amd-gfx mailing list
<amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org>,
dri-devel
<dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org>
Subject: Re: [PATCH 11/11] drm/amdgpu: stop removing BOs from the LRU during CS
Date: Wed, 15 May 2019 09:04:52 +0200 [thread overview]
Message-ID: <5d6b76f9-5402-989d-1fa8-d807cea1bfe3@gmail.com> (raw)
In-Reply-To: <BYAPR12MB35256D8A0583B5DD019C2925FB090-ZGDeBxoHBPmbr42z19MNgwdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
[-- Attachment #1.1: Type: text/plain, Size: 4115 bytes --]
Hi Prike,
no, that can lead to massive problems in a real OOM situation and is not
something we can do here.
Christian.
Am 15.05.19 um 04:00 schrieb Liang, Prike:
>
> Hi Christian ,
>
> I just wonder when encounter ENOMEM error during pin amdgpu BOs can we
> retry validate again as below.
>
> With the following simply patch the Abaqus pinned issue not observed.
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
>
> index 11cbf63..72a32f5 100644
>
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
>
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
>
> @@ -902,11 +902,15 @@ int amdgpu_bo_pin_restricted(struct amdgpu_bo
> *bo, u32 domain,
>
> bo->placements[i].lpfn = lpfn;
>
> bo->placements[i].flags |= TTM_PL_FLAG_NO_EVICT;
>
> }
>
> -
>
> +retry:
>
> r = ttm_bo_validate(&bo->tbo, &bo->placement, &ctx);
>
> if (unlikely(r)) {
>
> - dev_err(adev->dev, "%p pin failed\n", bo);
>
> - goto error;
>
> + if (r == -ENOMEM){
>
> + goto retry;
>
> + } else {
>
> + dev_err(adev->dev, "%p pin failed\n", bo);
>
> + goto error;
>
> + }
>
> }
>
> bo->pin_count = 1;
>
> Thanks,
>
> Prike
>
> *From:* Marek Olšák <maraeo-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
> *Sent:* Wednesday, May 15, 2019 3:33 AM
> *To:* Christian König <ckoenig.leichtzumerken-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
> *Cc:* Zhou, David(ChunMing) <David1.Zhou-5C7GfCeVMHo@public.gmane.org>; Liang, Prike
> <Prike.Liang-5C7GfCeVMHo@public.gmane.org>; dri-devel <dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org>;
> amd-gfx mailing list <amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org>
> *Subject:* Re: [PATCH 11/11] drm/amdgpu: stop removing BOs from the
> LRU during CS
>
> [CAUTION: External Email]
>
> This series fixes the OOM errors. However, if I torture the kernel
> driver more, I can get it to deadlock and end up with unkillable
> processes. I can also get an OOM error. I just ran the test 5 times:
>
> AMD_DEBUG=testgdsmm glxgears & AMD_DEBUG=testgdsmm glxgears &
> AMD_DEBUG=testgdsmm glxgears & AMD_DEBUG=testgdsmm glxgears &
> AMD_DEBUG=testgdsmm glxgears
>
> Marek
>
> On Tue, May 14, 2019 at 8:31 AM Christian König
> <ckoenig.leichtzumerken-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
> <mailto:ckoenig.leichtzumerken-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>> wrote:
>
> This avoids OOM situations when we have lots of threads
> submitting at the same time.
>
> Signed-off-by: Christian König <christian.koenig-5C7GfCeVMHo@public.gmane.org
> <mailto:christian.koenig-5C7GfCeVMHo@public.gmane.org>>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
> index fff558cf385b..f9240a94217b 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
> @@ -648,7 +648,7 @@ static int amdgpu_cs_parser_bos(struct
> amdgpu_cs_parser *p,
> }
>
> r = ttm_eu_reserve_buffers(&p->ticket, &p->validated, true,
> - &duplicates, true);
> + &duplicates, false);
> if (unlikely(r != 0)) {
> if (r != -ERESTARTSYS)
> DRM_ERROR("ttm_eu_reserve_buffers failed.\n");
> --
> 2.17.1
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org <mailto:amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org>
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
>
[-- Attachment #1.2: Type: text/html, Size: 10904 bytes --]
[-- Attachment #2: Type: text/plain, Size: 153 bytes --]
_______________________________________________
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 7:04 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
2019-05-14 12:31 ` [PATCH 07/11] drm/ttm: immediately move BOs to the new LRU 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
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 [this message]
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 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=5d6b76f9-5402-989d-1fa8-d807cea1bfe3@gmail.com \
--to=ckoenig.leichtzumerken-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
--cc=David1.Zhou-5C7GfCeVMHo@public.gmane.org \
--cc=Prike.Liang-5C7GfCeVMHo@public.gmane.org \
--cc=amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
--cc=christian.koenig-5C7GfCeVMHo@public.gmane.org \
--cc=dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
--cc=maraeo-Re5JQEeQqe8AvxtiuMwx3w@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