[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250918-ttm_pool_no_direct_reclaim-v2-0-135294e1f8a2@igalia.com>
Date: Thu, 18 Sep 2025 17:09:23 -0300
From: Thadeu Lima de Souza Cascardo <cascardo@...lia.com>
To: Christian Koenig <christian.koenig@....com>,
Michel Dänzer <michel.daenzer@...lbox.org>,
Huang Rui <ray.huang@....com>, Matthew Auld <matthew.auld@...el.com>,
Matthew Brost <matthew.brost@...el.com>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Maxime Ripard <mripard@...nel.org>, Thomas Zimmermann <tzimmermann@...e.de>,
David Airlie <airlied@...il.com>, Simona Vetter <simona@...ll.ch>
Cc: amd-gfx@...ts.freedesktop.org, dri-devel@...ts.freedesktop.org,
linux-kernel@...r.kernel.org, kernel-dev@...lia.com,
Tvrtko Ursulin <tvrtko.ursulin@...lia.com>,
Sergey Senozhatsky <senozhatsky@...omium.org>,
Thadeu Lima de Souza Cascardo <cascardo@...lia.com>
Subject: [PATCH RFC v2 0/3] drm/ttm: allow direct reclaim to be skipped
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.
Other drivers can later opt to use this mechanism too.
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@...lia.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-53b0fa7f80fa@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,
--
Thadeu Lima de Souza Cascardo <cascardo@...lia.com>
Powered by blists - more mailing lists