From nobody Tue Dec 2 02:51:10 2025 Received: from iguana.tulip.relay.mailchannels.net (iguana.tulip.relay.mailchannels.net [23.83.218.253]) (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 B6F1A23EABB for ; Mon, 17 Nov 2025 15:31:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=pass smtp.client-ip=23.83.218.253 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763393471; cv=pass; b=pjy1ep8j+T14XSXNdaFXFp6uz/PoAHh1nZ7HVC/MjSDpvv5XmJ3DrJKmGfbcNxSeQWMF3yoB0JMUJVinOBwEJg2Eo6lCwr8cT0txClHi/r8Wq0qazgTAdFoE+1AP8vRo21JpmtCLX6sJTkN3VIEe23bQULgtC69eDVUnAEMsL6A= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763393471; c=relaxed/simple; bh=sWx7cAky2AN8awrFkIgb5M4uOjUfg7EmdkEUseIDo/E=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=djI/skGkwN7xxSgrml3cWeMbpoNnUe1I4UTVR9IM+k4C8ve20BFbXLWxyr85ErcAeXyBaK83uS5PdDHzzuF9yrT5/RRsJeOEV0hiL5FtTPRv2o59aC3zfIXR0QEaMY8ywZRHekCyz4MJY3CsGcNEbu7433pg7cavQsYJxDkaUgM= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=stgolabs.net; spf=fail smtp.mailfrom=stgolabs.net; dkim=pass (2048-bit key) header.d=stgolabs.net header.i=@stgolabs.net header.b=IytJ168X; arc=pass smtp.client-ip=23.83.218.253 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=stgolabs.net Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=stgolabs.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=stgolabs.net header.i=@stgolabs.net header.b="IytJ168X" X-Sender-Id: dreamhost|x-authsender|dave@stgolabs.net Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 3ECD02216CA; Mon, 17 Nov 2025 15:31:03 +0000 (UTC) Received: from pdx1-sub0-mail-a208.dreamhost.com (trex-green-9.trex.outbound.svc.cluster.local [100.127.179.209]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id BEFA2222C66; Mon, 17 Nov 2025 15:31:02 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; d=mailchannels.net; s=arc-2022; cv=none; t=1763393462; b=6wWtlHgb6DcHRtWiS8u7InZ50dT80mcV1p4PM+m4OK9zoj0EkCno8I3sOgEVw28AhRO+O4 b1WESpCqZmyz3kWb4F4DtkxgZzVVDx277iVrkbDWJIxQHaXClhi3EnFZKY2V9o38HTILQa IuLgak7o5GFDA0IEt1WRW1HAv4DHcEYeyAJj7HtkxxURAx76OTrcuiaFMZiRkt6MZjUTvC m5AykYz15Y7xz0P4PsRpUaFaaNgWnqoHY3eMvWCxg5cKnmUjKBWT5/QXqqXEU9UmPv6Fcu OeSgG2epVGVMsTHEKm29TZpAwr7fTpUIJneAtwxfsrOYtUuUIiTPdKuGSdDLHg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=mailchannels.net; s=arc-2022; t=1763393462; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding:dkim-signature; bh=tmIcLJE21cuVExhp4i8hlplnFxVcK/+w7b0gmJCSvc0=; b=nFNYhF1F0Mpb3EE80zzBLkh1vv+L6jPcv8QQHEgxpTZy12ykXmnfKnIaROq91nl6HL6rJQ +NdV5kofpaIwzdjlOrD5hzTzGUwObjVQLyuAyXXYG5mkhHtWyJA8W/ULC22pva18HFzrtp Beeb6O92X7OVLrZW6pttdTCEfyFewuWC38LeJKsiIGgGF8G27gR2ICUE0Ykh6a+ZjbREE3 cANUGRHKdryPrmYpYzHv04pzymJ16ccUHpUIoiaGAd3M70Sz9YAYkZszpGe0mTKilHWNMq ofJvULIR0ZEzs/V5qS1NNMytlQ8LXRU46ykgaWp5BRgimzVm1bJobNSC7cEQNA== ARC-Authentication-Results: i=1; rspamd-5664d6b969-jw4bl; auth=pass smtp.auth=dreamhost smtp.mailfrom=dave@stgolabs.net X-Sender-Id: dreamhost|x-authsender|dave@stgolabs.net X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|dave@stgolabs.net X-MailChannels-Auth-Id: dreamhost X-Gusty-Ruddy: 5983744840ed8224_1763393463112_2942303523 X-MC-Loop-Signature: 1763393463112:3697356689 X-MC-Ingress-Time: 1763393463112 Received: from pdx1-sub0-mail-a208.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384) by 100.127.179.209 (trex/7.1.3); Mon, 17 Nov 2025 15:31:03 +0000 Received: from offworld.lan (unknown [76.167.199.67]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: dave@stgolabs.net) by pdx1-sub0-mail-a208.dreamhost.com (Postfix) with ESMTPSA id 4d9BXk0xM1z2x; Mon, 17 Nov 2025 07:31:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=stgolabs.net; s=dreamhost; t=1763393462; bh=tmIcLJE21cuVExhp4i8hlplnFxVcK/+w7b0gmJCSvc0=; h=From:To:Cc:Subject:Date:Content-Transfer-Encoding; b=IytJ168X4S9KZWN2ZBXQxYeGaiio3AYiEcycyY06nLXfp4rrM8Y/pn5o0Bj+qvjtb wX6hJ0to+djaavV9CsXJgkN3ttr/v4V+Tpjl+3VO2x+5EswVACTDVPPR8/H+s3ojLh YpBAVDA92hY1/hE7lbvxnaXSP7JVQ6sAUbrzSEUQxl6XFus8qz0boOisqBWyAGsv1I P4pyDBTzfc7aGJaOftgH+tFaVz5Rjf34KCDy5TmpPfvl2FUvrLb7SRQo75ojgTIY/D uxQ5TvuWkTYEnkn88UldWnfz7rPSQ00NktpvOENKkUZHseRe9MSdQ5Toznr8SoBk4b TWlRab4J4Henw== From: Davidlohr Bueso To: maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, dave@stgolabs.net Subject: [PATCH] gpu/drm: Use local kmap in drm_clflush_page() Date: Mon, 17 Nov 2025 07:30:57 -0800 Message-Id: <20251117153057.1800631-1-dave@stgolabs.net> X-Mailer: git-send-email 2.39.5 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Replace the now deprecated kmap_atomic() with kmap_local_page(). Optimize for the non-highmem cases and avoid disabling preemption and pagefaults as clflushopt does not require being CPU locality guarantees and the mapping will hold valid across context switches. Further, highmem is planned to to be removed[1]. [1] https://lore.kernel.org/all/4ff89b72-03ff-4447-9d21-dd6a5fe1550f@app.fa= stmail.com/ Signed-off-by: Davidlohr Bueso --- drivers/gpu/drm/drm_cache.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/drm_cache.c b/drivers/gpu/drm/drm_cache.c index ea1d2d5d2c66..b6a309f827f8 100644 --- a/drivers/gpu/drm/drm_cache.c +++ b/drivers/gpu/drm/drm_cache.c @@ -57,10 +57,10 @@ drm_clflush_page(struct page *page) if (unlikely(page =3D=3D NULL)) return; =20 - page_virtual =3D kmap_atomic(page); + page_virtual =3D kmap_local_page(page); for (i =3D 0; i < PAGE_SIZE; i +=3D size) clflushopt(page_virtual + i); - kunmap_atomic(page_virtual); + kunmap_local(page_virtual); } =20 static void drm_cache_flush_clflush(struct page *pages[], --=20 2.39.5