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,

Reply via email to