On 18.09.25 22:09, Thadeu Lima de Souza Cascardo wrote: > On certain workloads, like on ChromeOS when opening multiple tabs and > windows, and switching desktops, memory pressure can build up and latency > is observed as high order allocations result in memory reclaim. This was > observed when running on an amdgpu. > > This is caused by TTM pool allocations and turning off direct reclaim when > doing those higher order allocations leads to lower memory pressure. > > Since turning direct reclaim off might also lead to lower throughput, > make it tunable, both as a module parameter that can be changed in sysfs > and as a flag when allocating a GEM object. > > A latency option will avoid direct reclaim for higher order allocations. > > The throughput option could be later used to more agressively compact pages > or reclaim, by not using __GFP_NORETRY.
Well I can only repeat it, at least for amdgpu that is a clear NAK from my side to this. The behavior to allocate huge pages is a must have for the driver. The alternative I can offer is to disable the fallback which in your case would trigger the OOM killer. Regards, Christian. > > Other drivers can later opt to use this mechanism too. > > Signed-off-by: Thadeu Lima de Souza Cascardo <casca...@igalia.com> > --- > Changes in v2: > - Make disabling direct reclaim an option. > - Link to v1: > https://lore.kernel.org/r/20250910-ttm_pool_no_direct_reclaim-v1-1-53b0fa7f8...@igalia.com > > --- > Thadeu Lima de Souza Cascardo (3): > ttm: pool: allow requests to prefer latency over throughput > ttm: pool: add a module parameter to set latency preference > drm/amdgpu: allow allocation preferences when creating GEM object > > drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 3 ++- > drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 3 ++- > drivers/gpu/drm/ttm/ttm_pool.c | 23 +++++++++++++++++------ > drivers/gpu/drm/ttm/ttm_tt.c | 2 +- > include/drm/ttm/ttm_bo.h | 5 +++++ > include/drm/ttm/ttm_pool.h | 2 +- > include/drm/ttm/ttm_tt.h | 2 +- > include/uapi/drm/amdgpu_drm.h | 9 +++++++++ > 8 files changed, 38 insertions(+), 11 deletions(-) > --- > base-commit: f83ec76bf285bea5727f478a68b894f5543ca76e > change-id: 20250909-ttm_pool_no_direct_reclaim-ee0807a2d3fe > > Best regards,