[PATCH 1/1] drm/ttm: Account for kernel allocations in kernel zone only
Kuehling, Felix
Felix.Kuehling at amd.com
Tue Feb 26 04:25:01 UTC 2019
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.
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);
>>>
More information about the amd-gfx
mailing list