]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
drm/ttm: Allow direct reclaim to allocate local memory v2
authorRajneesh Bhardwaj <rajneesh.bhardwaj@amd.com>
Mon, 8 Jul 2024 16:06:36 +0000 (12:06 -0400)
committerChristian König <christian.koenig@amd.com>
Tue, 23 Jul 2024 07:52:23 +0000 (09:52 +0200)
Limiting the allocation of higher order pages to the closest NUMA node
and enabling direct memory reclaim provides not only failsafe against
situations when memory becomes too much fragmented and the allocator is
not able to satisfy the request from the local node but falls back to
remote pages (HUGEPAGE) but also offers performance improvement.
Accessing remote pages suffers due to bandwidth limitations and could be
avoided if memory becomes defragmented and in most cases without using
manual compaction. (/proc/sys/vm/compact_memory)

Note: On certain distros such as RHEL, the proactive compaction is
disabled. (https://tinyurl.com/4f32f7rs)

v2 (chk): drop __GFP_RECLAIM since that is already set by GFP_USER

Cc: Dave Airlie <airlied@redhat.com>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Rajneesh Bhardwaj <rajneesh.bhardwaj@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240708160636.1147308-1-rajneesh.bhardwaj@amd.com
Signed-off-by: Christian König <christian.koenig@amd.com>
drivers/gpu/drm/ttm/ttm_pool.c

index 6e1fd6985ffcb730eb7057c4509aec971dfa8266..8504dbe19c1a0f5f2443bddae01ee1836204e8b5 100644 (file)
@@ -91,7 +91,7 @@ static struct page *ttm_pool_alloc_page(struct ttm_pool *pool, gfp_t gfp_flags,
         */
        if (order)
                gfp_flags |= __GFP_NOMEMALLOC | __GFP_NORETRY | __GFP_NOWARN |
-                       __GFP_KSWAPD_RECLAIM;
+                       __GFP_THISNODE;
 
        if (!pool->use_dma_alloc) {
                p = alloc_pages_node(pool->nid, gfp_flags, order);