From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.21]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 38DB12C11DF for ; Wed, 6 May 2026 03:33:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.21 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778038391; cv=none; b=aSOrtFMjccoprLA+N/7KmteKF1RwP3G9WVHIC+/DAIC4ZjrVTBAqPuzXRypaNsLtTEOmR5oNqT6umHW+3Bf8EG8DzDO4PBKdIiIzWBNy6zEdkfInVHHSSioPWjSWuf14A0E4JlK4NyKS6HPw7Gm+SnvOVVoqyKXAHpTY9+pmJlU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778038391; c=relaxed/simple; bh=fhvCwpOOerNDSxVfaQALugyDzdK6DreUrRK4L1ox3PU=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version:Content-Type; b=D+kkPqwKCzRt5v7pFKd7qNz83jYb55Y2hAatnOARqvGp3S3yXoSamXMPX0fUkJ8PTy2JdEfksCZ+nk/yLzyttKfroIi7SAKdFvD8AzRgJ0BE4n/fvCflOVrvfn5F1AuA0suveKyRbzMq3R0GmbtjbySyWcjyE0WRU8XZ6cjCJRQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=N67e8UzN; arc=none smtp.client-ip=198.175.65.21 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="N67e8UzN" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1778038391; x=1809574391; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=fhvCwpOOerNDSxVfaQALugyDzdK6DreUrRK4L1ox3PU=; b=N67e8UzNlhi6aoASuAT8BU3nYchfwCYXpDaIe59qLr4V/vYXFgj8DWLO bDThoaoAEUKcJnxE9r732sbmX6Z+71eAEt/NlQRKtPCrbqFi///7yGsMu nMq6rOtYsE0j6tibEimXHxDrX83L6ETzPn+AAcjLjzcBU61+oWcNFe6ZZ AX7XBGUq+v60RTXYpOWW/f53Oor3hcg3BT7JEnmJx5bEkFsO99w2icPKo Vlx2gN/pQuhhGXx1e+YbUHyL3AZx6jkwo0CGNaSWPf0lCfkc8vrd4Asi+ To6+2PjUewd7ateB1KYcW8BvEdUOMSdkHfs6ivC/oN9D5zdTnHycwNapu w==; X-CSE-ConnectionGUID: eFynZYYTRkWhGz8PvSNSuQ== X-CSE-MsgGUID: kWo18VTLTzSa0+MGgSvi1w== X-IronPort-AV: E=McAfee;i="6800,10657,11777"; a="78829060" X-IronPort-AV: E=Sophos;i="6.23,218,1770624000"; d="scan'208";a="78829060" Received: from orviesa002.jf.intel.com ([10.64.159.142]) by orvoesa113.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 May 2026 20:33:07 -0700 X-CSE-ConnectionGUID: lHxy+04KTjG2WxqjseVy6w== X-CSE-MsgGUID: ukmuUaJjRm62am4oFugUjA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.23,218,1770624000"; d="scan'208";a="266342150" Received: from gsse-cloud1.jf.intel.com ([10.54.39.91]) by orviesa002-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 May 2026 20:33:07 -0700 From: Matthew Brost To: intel-xe@lists.freedesktop.org, dri-devel@lists.freedesktop.org Cc: Andrew Morton , Dave Chinner , Qi Zheng , Roman Gushchin , Muchun Song , David Hildenbrand , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Johannes Weiner , Shakeel Butt , Kairui Song , Barry Song , Axel Rasmussen , Yuanchu Xie , Wei Xu , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Tvrtko Ursulin , =?UTF-8?q?Thomas=20Hellstr=C3=B6m?= , Carlos Santa , Christian Koenig , Huang Rui , Matthew Auld , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Daniel Colascione , Andi Shyti Subject: [PATCH v5 3/5] drm/ttm: Issue direct reclaim at beneficial_order Date: Tue, 5 May 2026 20:32:58 -0700 Message-Id: <20260506033300.3534883-4-matthew.brost@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260506033300.3534883-1-matthew.brost@intel.com> References: <20260506033300.3534883-1-matthew.brost@intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Triggering kswap at an order higher than beneficial_order makes little sense, as the driver has already indicated the optimal order at which reclaim is effective. Similarly, issuing direct reclaim or triggering kswap at a lower order than beneficial_order is ineffective, since the driver does not benefit from reclaiming lower-order pages. As a result, direct reclaim should only be issued with __GFP_NORETRY at exactly beneficial_order, or as a fallback, direct reclaim without __GFP_NORETRY at order 0 when failure is not an option. Cc: Andrew Morton Cc: Dave Chinner Cc: Qi Zheng Cc: Roman Gushchin Cc: Muchun Song Cc: David Hildenbrand Cc: Lorenzo Stoakes Cc: "Liam R. Howlett" Cc: Vlastimil Babka Cc: Mike Rapoport Cc: Suren Baghdasaryan Cc: Michal Hocko Cc: Johannes Weiner Cc: Shakeel Butt Cc: Kairui Song Cc: Barry Song Cc: Axel Rasmussen Cc: Yuanchu Xie Cc: Wei Xu Cc: linux-mm@kvack.org Cc: linux-kernel@vger.kernel.org Cc: Tvrtko Ursulin Cc: Thomas Hellström Cc: Carlos Santa Cc: Christian Koenig Cc: Huang Rui Cc: Matthew Auld Cc: Matthew Brost Cc: Maarten Lankhorst Cc: Maxime Ripard Cc: Thomas Zimmermann Cc: David Airlie Cc: Simona Vetter CC: dri-devel@lists.freedesktop.org Cc: Daniel Colascione Signed-off-by: Matthew Brost Reviewed-by: Christian Koenig Reviewed-by: Andi Shyti --- drivers/gpu/drm/ttm/ttm_pool.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/ttm/ttm_pool.c b/drivers/gpu/drm/ttm/ttm_pool.c index 278bbe7a11ad..e76c3a5c67bd 100644 --- a/drivers/gpu/drm/ttm/ttm_pool.c +++ b/drivers/gpu/drm/ttm/ttm_pool.c @@ -165,8 +165,8 @@ static struct page *ttm_pool_alloc_page(struct ttm_pool *pool, gfp_t gfp_flags, * Do not add latency to the allocation path for allocations orders * device tolds us do not bring them additional performance gains. */ - if (beneficial_order && order > beneficial_order) - gfp_flags &= ~__GFP_DIRECT_RECLAIM; + if (order && beneficial_order && order != beneficial_order) + gfp_flags &= ~__GFP_RECLAIM; if (!ttm_pool_uses_dma_alloc(pool)) { p = alloc_pages_node(pool->nid, gfp_flags, order); -- 2.34.1