From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 13B71C47DDB for ; Wed, 31 Jan 2024 02:54:57 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9839D6B0092; Tue, 30 Jan 2024 21:54:56 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 910276B0093; Tue, 30 Jan 2024 21:54:56 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7AD636B0095; Tue, 30 Jan 2024 21:54:56 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 6A13D6B0092 for ; Tue, 30 Jan 2024 21:54:56 -0500 (EST) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id E46E5A04F5 for ; Wed, 31 Jan 2024 02:54:55 +0000 (UTC) X-FDA: 81738088950.03.E2420DD Received: from mail-pl1-f176.google.com (mail-pl1-f176.google.com [209.85.214.176]) by imf06.hostedemail.com (Postfix) with ESMTP id 1068D180002 for ; Wed, 31 Jan 2024 02:54:53 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=fromorbit-com.20230601.gappssmtp.com header.s=20230601 header.b=JZM0M7v5; dmarc=pass (policy=quarantine) header.from=fromorbit.com; spf=pass (imf06.hostedemail.com: domain of david@fromorbit.com designates 209.85.214.176 as permitted sender) smtp.mailfrom=david@fromorbit.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1706669694; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=Hrfb/n6ZOTCIrooBWZCWqo5ZO6oBNst73LpENqxcGZ0=; b=la4GUSnecvboZiyZHIb1YkyaLtcQO7bcLMq4yy9XlIx/vvesERdW0hOV6O64aVlup5hlO8 2raTdP5hP8b4QJ9j8cybaRdEVzxop5JzlPvzXyj7MnX7O6TLEcBZ9pmYAxGmvXe1oPUsFK 1+qm2fly50KmdJTIX5KPnZ66iXPP140= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=fromorbit-com.20230601.gappssmtp.com header.s=20230601 header.b=JZM0M7v5; dmarc=pass (policy=quarantine) header.from=fromorbit.com; spf=pass (imf06.hostedemail.com: domain of david@fromorbit.com designates 209.85.214.176 as permitted sender) smtp.mailfrom=david@fromorbit.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1706669694; a=rsa-sha256; cv=none; b=IXAp1tH21+QmDCAFrFkoMDQ2RWstYMRGvTJjC1QWFciBs01NCmAC9kj0nOg8hDgn89a2Er 17dRUNBpdMqm3WPIFm0A/quVpBfUNBo5keOc6OGHsWizczwRiur9Qw+gxqjd39jiq1jdHW GPHvriPty3vwA5BnL5VbqZk21jIDVOU= Received: by mail-pl1-f176.google.com with SMTP id d9443c01a7336-1d7232dcb3eso24723715ad.2 for ; Tue, 30 Jan 2024 18:54:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fromorbit-com.20230601.gappssmtp.com; s=20230601; t=1706669693; x=1707274493; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=Hrfb/n6ZOTCIrooBWZCWqo5ZO6oBNst73LpENqxcGZ0=; b=JZM0M7v5GmvtdXAh5tvSNKmORbZqi0Dua/M+iLC8nz3riHb+tMWw9RG2s2+dCPeCIa 2kw2bkqG7OnUZXWg3Y9usNkrElfGdQTPRhpeSXeR0Svt5+V8v099gC5RBywvis2zL7YZ 4sJyfMQia20qfYMvnVh84ClbQeLR2XLdE6bHDSS+osXFEzMt9BUB+TC5W4qIeIRRVzm+ 8cH2ZtPH5BLSmvq/aqm9ZJHCeTrN/RKq8OUfaBAVHAdY2C1rWVytWcrp/1E23xzkPcuE HhYRN7qBKhTMgEWUeSo6oHanRht+Kd68tvxK592WU5C9sWU936Nqb0C3+M6cEmKIiEiJ E+kQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706669693; x=1707274493; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Hrfb/n6ZOTCIrooBWZCWqo5ZO6oBNst73LpENqxcGZ0=; b=k6wnfgljPD5MeWt7rlTI+GzJegeBXIP2DfMzw1MNzsGMILf5y9EuiQtuKffDvFcgop GiJxXAEIw3BHH+A77mvMIeAn6P926QWazDZa5majZ79vnp1UIy/82A1WChMmWOwLtt4l G8WStbCy3STKtDfA/z1u2lClwMD06tFUC9tFZSeBSK8u86bUHiS6yypExftEdwsHL1aj KHsudwU0A9WHt6PLEKGhOZDpwMeu+z30lmuU+RlVjOd1q79u1tkKSiuByiqr783MyFZW Nj2aa8gEL/iVymOR6Hi2p2OPIdVAm2F2taf8Vd8zsLOgfzvfAtYc+AIFktgtWEHvBaNY 1jeQ== X-Gm-Message-State: AOJu0Yyfu/aOKu0drxBAkOMHj2cWyF75SWvz4a3XRIjxh31UxZShAG/Z OsE+5Gq/j0xUDdhunsXA4cCaxO/OtH6+yAgnsv7CBVneAgbhOX/hJTyRJ/ucOWM= X-Google-Smtp-Source: AGHT+IFAsmT6LMZORDa5sxVPam1HZWjCzng8qaLjFgSc57xDu0HuvkqFVz27rOWDpFLvz8J8s9MLSw== X-Received: by 2002:a17:902:e748:b0:1d8:e5f3:3b88 with SMTP id p8-20020a170902e74800b001d8e5f33b88mr661552plf.64.1706669692809; Tue, 30 Jan 2024 18:54:52 -0800 (PST) Received: from dread.disaster.area (pa49-181-38-249.pa.nsw.optusnet.com.au. [49.181.38.249]) by smtp.gmail.com with ESMTPSA id a21-20020a170902ee9500b001d8d0666312sm5067490pld.126.2024.01.30.18.54.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 Jan 2024 18:54:52 -0800 (PST) Received: from dave by dread.disaster.area with local (Exim 4.96) (envelope-from ) id 1rV0kT-00HZps-2X; Wed, 31 Jan 2024 13:54:49 +1100 Date: Wed, 31 Jan 2024 13:54:49 +1100 From: Dave Chinner To: Mathieu Desnoyers Cc: Dan Williams , Vishal Verma , Dave Jiang , linux-kernel@vger.kernel.org, Andrew Morton , Linus Torvalds , linux-mm@kvack.org, linux-arch@vger.kernel.org, Matthew Wilcox , Arnd Bergmann , Russell King , nvdimm@lists.linux.dev, linux-cxl@vger.kernel.org, linux-fsdevel@vger.kernel.org Subject: Re: [RFC PATCH v2 8/8] dax: Fix incorrect list of dcache aliasing architectures Message-ID: References: <20240130165255.212591-1-mathieu.desnoyers@efficios.com> <20240130165255.212591-9-mathieu.desnoyers@efficios.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240130165255.212591-9-mathieu.desnoyers@efficios.com> X-Rspamd-Queue-Id: 1068D180002 X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: h9s64gbq4x1nieqeew5b1gbyonfkonyj X-HE-Tag: 1706669693-531887 X-HE-Meta: U2FsdGVkX1/pORtsnzDS2wjM69MoeJN6Hx5bKzPGfTMaPwKxE92JXwDxV/+ajynSeUnJYnpN/jCYD1mTSO7U5AUdRfLYBKeUD/WjEUfYFbqSrACCs1iQdxLsSnKFKqrbBySE/IkxTVS5JzZ8P7o2HGZYxyZpEJtTibzWEggAHEG1d3/8hNJ/21NFJI4+FbLJQE5iaFOIYhV0qzEuDki6cZWvi9/IzMoz7KaOQGwBLhbASgFeoJ2rJNATy/oZJ3wVxyynnnZJp7exE8LGe8NrwUF4dHom/i1XYSFefm4JionuQBnXC5sHKdDqckcABVlhSR5b5gnznFMbNYhyb0+LIcBjv8jHH+2ZRvte1TKNV0E56r1x6VRqKO9iemwbhYf+f2NtuEQnx+W0EjVNWSDuxKD4X8c01Ugyf+O8KrrshlYCikTiICBfrmic3Cd0FOuRTbDfHVhSUF7hQt5hE2TlYSZl4IR9B9Bdsxdp0IXpx1OIxhmZgXQEsHiF9HDzeZdVOhKspblfMJoH62I1HBn865XWN3DbQ9oiWDEZyDQyheLHXhCkkAxwXNTGByP+qce8QTUnaB7OpwqVGQCc3C6gvb9f3VeTPVXkBFkzYyb7YOmlAALfYWMCNktOY9IEJ3a4bnppJHWe14haJyDG3gkJFH21WwHM2mxO6m7wjh6sy4FYN6DE9SGeYra7ViHYhVoxi/2bVw7GqQqIEFBp7L7cJWmA+cP/2HmmLRKI6C77J+WXsQ//2C3WfKo4QcNx60Ul84qHgwf81gxwvi4tIEIbtRmbU1+mt0MVa06vjuC3wOW5nmmCUm5/5oNfa2sdgWIYL20ZXpePWZ4ta23WwaUizBuMsQarXXZhPAxCKjCuBdkbiPQHFPDwVUx2Lm8t8cMp8Dj9Q1E/WAPs5ZCOrV3sjKCMk15dtwg9YgSHuml+1ldMpuLLaYPZwNlnwSiOxThRZeItXKT1bBB6Nqx1MFW fEmMg2Te 7sSvhNJ+KQUBBJYynGUwjP3SQ46e+wkMNKvGBjORrgZ1S71pQEb1pKEKgDMYlV+oXxKQpoNAf9QQ/jljYg4S2a5WiGlTCGb/f2DEeH8tCW72koN6JopcaNk7tuORh36f2rxo8f1icsquKvgaA1hgcP7UOyVz1eBv9f+PoqONl22qUYZ163lqPA56h2qGtkkAJ2Xy4/uMk0imKbnH3lIRnmeQwaD73fEqGWAuDHFUEyoGFY0lP7EL5MRu2rl8OymFmpAlNFfy/U0H8CBUk3v3mhJ3Yxnt7z+1LNb0r+WAclJa4rA37PgoznooXJeuno8WKERxwp0TAkgV1WEYfXV/nEyhhT7EfPht9EYIxHkpkb9jI9AOoUm8AUueIKmcOJt/d47UrtLXBG9kCfhLGd/Y5/LXod0ioPafenQYJu1CsAGHblVMObJURo/7lw3beu4+mhGWNgw4me5jt970Qs+0J8h5LRIRf4RgXtbOH+M3pn3t4EPTU1qRVRMZyQ4F8W6gHCAtDFKSgNZb2hxjD8p2EXgxGvaX56X9X0Qtn3peAthYUstawAxBB5zJAI4yCwx/3K4Swq1gwAEscNM1g71ybRqFMitE6vAbc5HjxeBf5HgV9L19eDbIcfaQ/twgbjSTFGiw3X3leTzA82HQP48zYbHdycvVmV/iGgBHlTpgC8JPdb+Juy9QphhafgXTid4g5cXXqmRC5vPYXNmepyAmOhuqQNH5ZZmEE6rQFPGkaxDCsdNmMCKBnpbPdEzoBCUtNFXkRVXFZLlt5T00wRgcRZaScPbFtzkztLMAPp4l4mlVmO9DN69rkZFk5E7Pu3iqNKm/wgVm52OxJGTU= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Tue, Jan 30, 2024 at 11:52:55AM -0500, Mathieu Desnoyers wrote: > commit d92576f1167c ("dax: does not work correctly with virtual aliasing caches") > prevents DAX from building on architectures with virtually aliased > dcache with: > > depends on !(ARM || MIPS || SPARC) > > This check is too broad (e.g. recent ARMv7 don't have virtually aliased > dcaches), and also misses many other architectures with virtually > aliased dcache. > > This is a regression introduced in the v5.13 Linux kernel where the > dax mount option is removed for 32-bit ARMv7 boards which have no dcache > aliasing, and therefore should work fine with FS_DAX. > > This was turned into the following implementation of dax_is_supported() > by a preparatory change: > > return !IS_ENABLED(CONFIG_ARM) && > !IS_ENABLED(CONFIG_MIPS) && > !IS_ENABLED(CONFIG_SPARC); > > Use dcache_is_aliasing() instead to figure out whether the environment > has aliasing dcaches. > > Fixes: d92576f1167c ("dax: does not work correctly with virtual aliasing caches") > Signed-off-by: Mathieu Desnoyers > Cc: Andrew Morton > Cc: Linus Torvalds > Cc: linux-mm@kvack.org > Cc: linux-arch@vger.kernel.org > Cc: Dan Williams > Cc: Vishal Verma > Cc: Dave Jiang > Cc: Matthew Wilcox > Cc: Arnd Bergmann > Cc: Russell King > Cc: nvdimm@lists.linux.dev > Cc: linux-cxl@vger.kernel.org > Cc: linux-fsdevel@vger.kernel.org > --- > include/linux/dax.h | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/include/linux/dax.h b/include/linux/dax.h > index cfc8cd4a3eae..f59e604662e4 100644 > --- a/include/linux/dax.h > +++ b/include/linux/dax.h > @@ -5,6 +5,7 @@ > #include > #include > #include > +#include > > typedef unsigned long dax_entry_t; > > @@ -80,9 +81,7 @@ static inline bool daxdev_mapping_supported(struct vm_area_struct *vma, > } > static inline bool dax_is_supported(void) > { > - return !IS_ENABLED(CONFIG_ARM) && > - !IS_ENABLED(CONFIG_MIPS) && > - !IS_ENABLED(CONFIG_SPARC); > + return !dcache_is_aliasing(); Yeah, if this is just a one liner should go into fs_dax_get_by_bdev(), similar to the blk_queue_dax() check at the start of the function. I also noticed that device mapper uses fs_dax_get_by_bdev() to determine if it can support DAX, but this patch set does not address that case. Hence it really seems to me like fs_dax_get_by_bdev() is the right place to put this check. -Dave. -- Dave Chinner david@fromorbit.com