On Wed, 2024-07-03 at 17:38 +0200, Thomas Hellström wrote: > The XE_PL_TT watermark was set to 50% of system memory. > The idea behind that was unclear since the net effect is that > TT memory will be evicted to TTM_PL_SYSTEM memory if that > watermark is exceeded, requiring PPGTT rebinds and dma > remapping. But there is no similar watermark for TTM_PL_SYSTEM > memory. > > The TTM functionality that tries to swap out system memory to > shmem objects if a 50% limit of total system memory is reached > is orthogonal to this, and with the shrinker added, it's no > longer in effect. > > Replace the 50% TTM_PL_TT limit with a 100% limit, in effect > allowing all graphics memory to be bound to the device unless it > has been swapped out by the shrinker. Sorry if I missed some patch changing it but I did not found in this series anything changing the 50% limit in ttm_global_init(). When I debugged some Vulkan tests allocate a lot of memory, the reason that KMD was not allocating memory wash this ttm_global limit that is shared with all devices using TTM. > > Signed-off-by: Thomas Hellström <thomas.hellstrom@xxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/xe/xe_ttm_sys_mgr.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/xe/xe_ttm_sys_mgr.c b/drivers/gpu/drm/xe/xe_ttm_sys_mgr.c > index 9844a8edbfe1..d38b91872da3 100644 > --- a/drivers/gpu/drm/xe/xe_ttm_sys_mgr.c > +++ b/drivers/gpu/drm/xe/xe_ttm_sys_mgr.c > @@ -108,9 +108,8 @@ int xe_ttm_sys_mgr_init(struct xe_device *xe) > u64 gtt_size; > > si_meminfo(&si); > + /* Potentially restrict amount of TT memory here. */ > gtt_size = (u64)si.totalram * si.mem_unit; > - /* TTM limits allocation of all TTM devices by 50% of system memory */ > - gtt_size /= 2; > > man->use_tt = true; > man->func = &xe_ttm_sys_mgr_func;