public inbox for amd-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
* Optimize VM handling a bit more
@ 2018-09-09 18:03 Christian König
       [not found] ` <20180909180339.1910-1-christian.koenig-5C7GfCeVMHo@public.gmane.org>
  0 siblings, 1 reply; 30+ messages in thread
From: Christian König @ 2018-09-09 18:03 UTC (permalink / raw)
  To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

Hi everyone,

Especially on Vega and Raven VM handling is rather inefficient while creating PTEs because we originally only supported 2 level page tables and implemented 4 level page tables on top of that.

This patch set reworks quite a bit of that handling and adds proper iterator and tree walking functions which are then used to update PTEs more efficiently.

A totally constructed test case which tried to map 2GB of VRAM on an unaligned address is reduced from 45ms down to ~20ms on my test system.

As a very positive side effect this also adds support for 1GB giant VRAM pages additional to the existing 2MB huge pages on Vega/Raven and also enables all additional power of two values (2MB-2GB) for the L1.

This could be beneficial for applications which allocate very huge amounts of memory because it reduces the overhead of page table walks by 50% (huge pages where 25%).

Please comment and/or review,
Christian.

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2018-09-11 22:25 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-09-09 18:03 Optimize VM handling a bit more Christian König
     [not found] ` <20180909180339.1910-1-christian.koenig-5C7GfCeVMHo@public.gmane.org>
2018-09-09 18:03   ` [PATCH 01/11] drm/amdgpu: try allocating VRAM as power of two Christian König
     [not found]     ` <20180909180339.1910-2-christian.koenig-5C7GfCeVMHo@public.gmane.org>
2018-09-11  0:08       ` Felix Kuehling
     [not found]         ` <60b9c96a-d31d-cd61-df22-c8414f0166dc-5C7GfCeVMHo@public.gmane.org>
2018-09-11  6:49           ` Christian König
     [not found]             ` <9b61bb4c-4721-c8af-0810-4ecc18ed1ea4-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2018-09-11  7:37               ` Michel Dänzer
     [not found]                 ` <46b7da24-4b04-7daf-e6c3-07e10ecb6fd6-otUistvHUpPR7s880joybQ@public.gmane.org>
2018-09-11  7:46                   ` Christian König
     [not found]                     ` <d0af0309-e4f9-9825-fd30-9cf79ed5f823-5C7GfCeVMHo@public.gmane.org>
2018-09-11  7:55                       ` Michel Dänzer
     [not found]                         ` <5fd331d0-24ab-7540-2d0a-b227230743c0-otUistvHUpPR7s880joybQ@public.gmane.org>
2018-09-11  8:20                           ` Christian König
     [not found]                             ` <a3c91610-e5e2-c666-cfda-344f1f40485c-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2018-09-11  8:25                               ` Michel Dänzer
2018-09-11 14:27               ` Kuehling, Felix
     [not found]                 ` <DM5PR12MB17073F8B673AEFC092FBA5B392040-2J9CzHegvk9TCtO+SvGBKwdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2018-09-11 14:48                   ` Christian König
     [not found]                     ` <2361b55f-ed56-bd42-b628-fc001d9ea300-5C7GfCeVMHo@public.gmane.org>
2018-09-11 22:25                       ` Felix Kuehling
2018-09-11  9:50       ` Huang Rui
2018-09-11 11:16         ` Christian König
2018-09-09 18:03   ` [PATCH 02/11] drm/amdgpu: add amdgpu_vm_pt_parent helper Christian König
2018-09-09 18:03   ` [PATCH 03/11] drm/amdgpu: add amdgpu_vm_update_func Christian König
2018-09-09 18:03   ` [PATCH 04/11] drm/amdgpu: add some VM PD/PT iterators Christian König
     [not found]     ` <20180909180339.1910-5-christian.koenig-5C7GfCeVMHo@public.gmane.org>
2018-09-11  1:51       ` Felix Kuehling
2018-09-11  2:38       ` Zhang, Jerry (Junwei)
2018-09-09 18:03   ` [PATCH 05/11] drm/amdgpu: use leaf iterator for allocating PD/PT Christian König
2018-09-09 18:03   ` [PATCH 06/11] drm/amdgpu: use dfs iterator to free PDs/PTs Christian König
2018-09-09 18:03   ` [PATCH 07/11] drm/amdgpu: use the DFS iterator in amdgpu_vm_invalidate_level Christian König
     [not found]     ` <20180909180339.1910-8-christian.koenig-5C7GfCeVMHo@public.gmane.org>
2018-09-11  0:19       ` Felix Kuehling
2018-09-09 18:03   ` [PATCH 08/11] drm/amdgpu: use leaf iterator for filling PTs Christian König
2018-09-09 18:03   ` [PATCH 09/11] drm/amdgpu: meld together VM fragment and huge page handling Christian König
2018-09-09 18:03   ` [PATCH 10/11] drm/amdgpu: use the maximum possible fragment size on Vega/Raven Christian König
     [not found]     ` <20180909180339.1910-11-christian.koenig-5C7GfCeVMHo@public.gmane.org>
2018-09-11  0:45       ` Felix Kuehling
2018-09-09 18:03   ` [PATCH 11/11] drm/amdgpu: allow fragment processing for invalid PTEs Christian König
2018-09-11  2:17   ` Optimize VM handling a bit more Felix Kuehling
2018-09-11  2:39   ` Zhang, Jerry (Junwei)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox