[PATCH 1/1] drm/ttm: Account for kernel allocations in kernel zone only

Alex Deucher alexdeucher at gmail.com
Tue Feb 26 05:37:52 UTC 2019


On Mon, Feb 25, 2019 at 11:25 PM Kuehling, Felix <Felix.Kuehling at amd.com> wrote:
>
> On 2/25/2019 2:58 PM, Thomas Hellstrom wrote:
> > On Mon, 2019-02-25 at 14:20 +0000, Koenig, Christian wrote:
> >> Am 23.02.19 um 00:19 schrieb Kuehling, Felix:
> >>> Don't account for them in other zones such as dma32. The kernel
> >>> page
> >>> allocator has its own heuristics to avoid exhausting special zones
> >>> for regular kernel allocations.
> >>>
> >>> Signed-off-by: Felix Kuehling <Felix.Kuehling at amd.com>
> >>> CC: thellstrom at vmware.com
> >>> CC: christian.koenig at amd.com
> >> Reviewed-by: Christian König <christian.koenig at amd.com>
> > Hmm,
> >
> > So actually with this patch we theoretically still can exhaust the
> > DMA32 zone by first performing kernel allocations that DO spare a
> > number of DMA32 pages  according to the kernel allocator heuristics,
> > and then populate TTM buffers with DMA32 pages only.
> >
> > However, since vmwgfx bo's don't request DMA32 pages, we're OK with
> > this, and it's really up to Christian to decide. So:
> >
> > Acked-by: Thomas Hellstrom <thellstrom at vmware.com>
>
> Thanks. What's the best branch to submit this to? My patches were based
> on amd-staging-drm-next.

amd-staging-drm-next is fine.  It will flow into drm-next naturally from there.

Alex

>
> Regards,
>    Felix
>
> >
> > Thanks,
> > Thomas
> >
> >
> >
> >
> >
> >
> >
> >
> >>> ---
> >>>    drivers/gpu/drm/ttm/ttm_memory.c | 6 +++---
> >>>    1 file changed, 3 insertions(+), 3 deletions(-)
> >>>
> >>> diff --git a/drivers/gpu/drm/ttm/ttm_memory.c
> >>> b/drivers/gpu/drm/ttm/ttm_memory.c
> >>> index f1567c3..90d1e24 100644
> >>> --- a/drivers/gpu/drm/ttm/ttm_memory.c
> >>> +++ b/drivers/gpu/drm/ttm/ttm_memory.c
> >>> @@ -522,7 +522,7 @@ static void ttm_mem_global_free_zone(struct
> >>> ttm_mem_global *glob,
> >>>    void ttm_mem_global_free(struct ttm_mem_global *glob,
> >>>                      uint64_t amount)
> >>>    {
> >>> -   return ttm_mem_global_free_zone(glob, NULL, amount);
> >>> +   return ttm_mem_global_free_zone(glob, glob->zone_kernel,
> >>> amount);
> >>>    }
> >>>    EXPORT_SYMBOL(ttm_mem_global_free);
> >>>
> >>> @@ -621,10 +621,10 @@ int ttm_mem_global_alloc(struct
> >>> ttm_mem_global *glob, uint64_t memory,
> >>>    {
> >>>     /**
> >>>      * Normal allocations of kernel memory are registered in
> >>> -    * all zones.
> >>> +    * the kernel zone.
> >>>      */
> >>>
> >>> -   return ttm_mem_global_alloc_zone(glob, NULL, memory, ctx);
> >>> +   return ttm_mem_global_alloc_zone(glob, glob->zone_kernel,
> >>> memory, ctx);
> >>>    }
> >>>    EXPORT_SYMBOL(ttm_mem_global_alloc);
> >>>
> _______________________________________________
> 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