From: Thomas Hellstrom <thellstrom@vmware.com>
To: "dri-devel@lists.freedesktop.org"
<dri-devel@lists.freedesktop.org>,
"Felix.Kuehling@amd.com" <Felix.Kuehling@amd.com>,
"Christian.Koenig@amd.com" <Christian.Koenig@amd.com>,
"amd-gfx@lists.freedesktop.org" <amd-gfx@lists.freedesktop.org>,
"thomas@shipmail.org" <thomas@shipmail.org>
Subject: Re: [PATCH 1/1] [RFC] drm/ttm: Don't init dma32_zone on 64-bit systems
Date: Mon, 18 Feb 2019 09:47:01 +0000 [thread overview]
Message-ID: <d90f7ab569b636db0968c80dad9eb16ce7bf1eab.camel@vmware.com> (raw)
In-Reply-To: <254ca765-adc2-5ddf-280f-6cb3643f6e1f@amd.com>
On Mon, 2019-02-18 at 09:20 +0000, Koenig, Christian wrote:
> Another good question is also why the heck the acc_size counts
> towards
> the DMA32 zone?
DMA32 TTM pages are accounted in the DMA32 zone. Other pages are not.
For small persistent allocations using ttm_mem_global_alloc(), they are
accounted also in the DMA32 zone, which may cause over-accounting of
that zone, but that's pretty unlikely to be a big problem..
/Thomas
>
> In other words why should the internal bookkeeping pages be allocated
> in
> the DMA32 zone?
>
> That doesn't sounds valid to me in any way,
> Christian.
>
> Am 18.02.19 um 09:02 schrieb Thomas Hellstrom:
> > Hmm,
> >
> > This zone was intended to stop TTM page allocations from
> > exhausting
> > the DMA32 zone. IIRC dma_alloc_coherent() uses DMA32 by default,
> > which
> > means if we drop this check, other devices may stop functioning
> > unexpectedly?
> >
> > However, in the end I'd expect the kernel page allocation system
> > to
> > make sure there are some pages left in the DMA32 zone, otherwise
> > random non-IO page allocations would also potentially exhaust the
> > DMA32 zone without anybody caring, which means removing this zone
> > wouldn't be any worse than whatever other subsystems may be doing
> > already...
> >
> > /Thomas
> >
> >
> > On 2/16/19 12:02 AM, Kuehling, Felix wrote:
> > > This is an RFC. I'm not sure this is the right solution, but it
> > > highlights the problem I'm trying to solve.
> > >
> > > The dma32_zone limits the acc_size of all allocated BOs to 2GB.
> > > On a
> > > 64-bit system with hundreds of GB of system memory and GPU
> > > memory,
> > > this can become a bottle neck. We're seeing TTM memory allocation
> > > failures not because we're truly out of memory, but because we're
> > > out of space in the dma32_zone for the acc_size needed for our BO
> > > book-keeping.
> > >
> > > Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
> > > CC: thellstrom@vmware.com
> > > CC: christian.koenig@amd.com
> > > ---
> > > drivers/gpu/drm/ttm/ttm_memory.c | 4 ++--
> > > 1 file changed, 2 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/drivers/gpu/drm/ttm/ttm_memory.c
> > > b/drivers/gpu/drm/ttm/ttm_memory.c
> > > index f1567c3..bb05365 100644
> > > --- a/drivers/gpu/drm/ttm/ttm_memory.c
> > > +++ b/drivers/gpu/drm/ttm/ttm_memory.c
> > > @@ -363,7 +363,7 @@ static int ttm_mem_init_highmem_zone(struct
> > > ttm_mem_global *glob,
> > > glob->zones[glob->num_zones++] = zone;
> > > return 0;
> > > }
> > > -#else
> > > +#elifndef CONFIG_64BIT
> > > static int ttm_mem_init_dma32_zone(struct ttm_mem_global *glob,
> > > const struct sysinfo *si)
> > > {
> > > @@ -441,7 +441,7 @@ int ttm_mem_global_init(struct ttm_mem_global
> > > *glob)
> > > ret = ttm_mem_init_highmem_zone(glob, &si);
> > > if (unlikely(ret != 0))
> > > goto out_no_zone;
> > > -#else
> > > +#elifndef CONFIG_64BIT
> > > ret = ttm_mem_init_dma32_zone(glob, &si);
> > > if (unlikely(ret != 0))
> > > goto out_no_zone;
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2019-02-18 9:47 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-15 23:02 [PATCH 1/1] [RFC] drm/ttm: Don't init dma32_zone on 64-bit systems Kuehling, Felix
2019-02-18 8:02 ` Thomas Hellstrom
2019-02-18 9:20 ` Koenig, Christian
2019-02-18 9:47 ` Thomas Hellstrom [this message]
[not found] ` <d90f7ab569b636db0968c80dad9eb16ce7bf1eab.camel-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
2019-02-18 17:07 ` Christian König
[not found] ` <89c4b66a-152a-d0f3-4ce0-d89f6ef822bb-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2019-02-18 20:39 ` Thomas Hellstrom
[not found] ` <eaad8f2dc24e98c68036801ccd6a871586033d31.camel-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
2019-02-19 17:06 ` Kuehling, Felix
[not found] ` <2be5739a-fe9a-f436-48a2-fb420cb97a13-5C7GfCeVMHo@public.gmane.org>
2019-02-20 6:41 ` Thomas Hellstrom
[not found] ` <19a0abdbd60c251a63975a7ddff31c35a5eb0a31.camel-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
2019-02-20 8:07 ` Christian König
2019-02-20 8:14 ` Thomas Hellstrom
[not found] ` <307f2073-7c15-8dac-58fe-3c0170231530-4+hqylr40dJg9hUCZPvPmw@public.gmane.org>
2019-02-20 8:35 ` Koenig, Christian
[not found] ` <66b1fa8a-6449-6fe2-18a0-c7aa2200ac68-5C7GfCeVMHo@public.gmane.org>
2019-02-20 9:01 ` Thomas Hellstrom
2019-02-20 19:23 ` Kuehling, Felix
2019-02-21 6:47 ` Thomas Hellstrom
2019-02-21 7:59 ` Koenig, Christian
[not found] ` <4423e7aa-2153-5305-91c2-8d212ae1786b-5C7GfCeVMHo@public.gmane.org>
2019-02-21 16:57 ` Kuehling, Felix
[not found] ` <2a76cb48-10f1-6df2-5b40-8d5b4c52acc4-5C7GfCeVMHo@public.gmane.org>
2019-02-21 17:34 ` Thomas Hellstrom
[not found] ` <39a4a5534ea3d5fa9ba94714e80f919c5a43aea9.camel-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
2019-02-21 20:24 ` Kuehling, Felix
[not found] ` <2b4ea7ed-08e6-6dd3-7b56-e7c1713fc357-5C7GfCeVMHo@public.gmane.org>
2019-02-21 21:02 ` Thomas Hellstrom
[not found] ` <0f1a3b818a4f6b426dff5c641332a456b08136f8.camel-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
2019-02-22 7:10 ` Koenig, Christian
2019-02-22 13:45 ` Thomas Hellstrom
[not found] ` <0c5e5ad70e2acbf2efd9fd0878768dcd5e008cd3.camel-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
2019-02-22 23:06 ` Kuehling, Felix
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=d90f7ab569b636db0968c80dad9eb16ce7bf1eab.camel@vmware.com \
--to=thellstrom@vmware.com \
--cc=Christian.Koenig@amd.com \
--cc=Felix.Kuehling@amd.com \
--cc=amd-gfx@lists.freedesktop.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=thomas@shipmail.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