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 219A1C36014 for ; Thu, 3 Apr 2025 02:04:29 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3A3EA280003; Wed, 2 Apr 2025 22:04:28 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 32BBC280001; Wed, 2 Apr 2025 22:04:28 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1CC57280003; Wed, 2 Apr 2025 22:04:28 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id F27C2280001 for ; Wed, 2 Apr 2025 22:04:27 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 96C4A140DF4 for ; Thu, 3 Apr 2025 02:04:28 +0000 (UTC) X-FDA: 83291088216.09.06AF6FE Received: from tor.source.kernel.org (tor.source.kernel.org [172.105.4.254]) by imf01.hostedemail.com (Postfix) with ESMTP id E8B4140007 for ; Thu, 3 Apr 2025 02:04:26 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b="GZ/jDKFa"; spf=pass (imf01.hostedemail.com: domain of mcgrof@kernel.org designates 172.105.4.254 as permitted sender) smtp.mailfrom=mcgrof@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1743645867; 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=nl2xLyS/pWey/qHqAG3JuQcgBHsZUgAT2Se2Y5Yn7/Q=; b=cVyx6tAe93EEfE5nMkGjLXvz48oqpUEou+Ix1hpIub5K8j1h5/y/TfJvpqdG7jzlNGywPu Guho9e4HYiHQb06nzvDLVsy5Pjg2GHuTM0MoVIYf0WHziUAq3J4I4dJNkDQYDmfUAM9dze TuywxdH3Itc+1d4xNRA+J2tX/04y0QM= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b="GZ/jDKFa"; spf=pass (imf01.hostedemail.com: domain of mcgrof@kernel.org designates 172.105.4.254 as permitted sender) smtp.mailfrom=mcgrof@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1743645867; a=rsa-sha256; cv=none; b=fTbJcG3IQxiUF8sAne0qWxwdRzOLwdU6jWRQncPnGdx1RARaDhv+85MUDaMoWF1cKDAmiS gDhfawXgxFt1/ChqGVlAj+9+yzq4STHUfCm30KzCGMNpDxGOoylWrbqziP1X1QH0PhO6Vd UeqeiLgeAuj0s9L+AyOkkPl7sPHRe0I= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by tor.source.kernel.org (Postfix) with ESMTP id 3579A6115E; Thu, 3 Apr 2025 02:04:19 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2A600C4CEDD; Thu, 3 Apr 2025 02:04:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1743645865; bh=a96SlvwEBzJj+2DnKMwsTwDZGhq08Zv/n7EyUk+W7Rs=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=GZ/jDKFaDLc097kSITEFAQ6NhhyOGIJG3yaklFbH+MEfC/ySGAZ/45xfBAgNi3XVB n4V6J65QqB1NCOGquu1iiluGCY7h47njXbzBhYbo/hKA5GyJeDTXj27rkq5OThV2+q L8zB1DX5jdqsXcB8wRLMKZ51RdJcB0UhyjyeoJfqGihVuNjw6aOKNXHxytumXTcwPV XuFpklC0UtxfwxG9BzQlAxNaL+3vK1/syQk4KhQ8wIIJhJOMsjbjno5q91werBEMle /eoP1p1iWA2SQ42DYlBDj4/QPH5fvY63ddBeg8MLGfn6e8vELEAjnp3TmeuFsoSAdp Zz/K3YI8eqJDA== Date: Wed, 2 Apr 2025 19:04:23 -0700 From: Luis Chamberlain To: Matthew Wilcox Cc: Jan Kara , brauner@kernel.org, tytso@mit.edu, adilger.kernel@dilger.ca, linux-ext4@vger.kernel.org, riel@surriel.com, hannes@cmpxchg.org, oliver.sang@intel.com, david@redhat.com, axboe@kernel.dk, hare@suse.de, david@fromorbit.com, djwong@kernel.org, ritesh.list@gmail.com, linux-fsdevel@vger.kernel.org, linux-block@vger.kernel.org, linux-mm@kvack.org, gost.dev@samsung.com, p.raghav@samsung.com, da.gomez@samsung.com Subject: Re: [PATCH 2/3] fs/buffer: avoid races with folio migrations on __find_get_block_slow() Message-ID: References: <20250330064732.3781046-1-mcgrof@kernel.org> <20250330064732.3781046-3-mcgrof@kernel.org> <20250401214951.kikcrmu5k3q6qmcr@offworld> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: E8B4140007 X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: wyq6agqwkyk7dbqsz58ccs9j4b7i4x67 X-HE-Tag: 1743645866-90684 X-HE-Meta: U2FsdGVkX1+rf5bvrw5x6zKzabER02ii+Tq6iS7jR5wdrtME8Y8Ed8JyXiJCEhTKfjdmcMDqZkGg3hNiBfEA+qDZB070DowVPRk149buqoGmkggIAC1N4qaRCVyvqF2NGiXUOEq4mHP981Ae1dr0+zYZCgtFqoCzVlpLzVcbou2JGwF8PwqDDm2cDEAm8V8xIvllZ6kYy9FUP8c7SOXPzx6NAZUMpvUSm04tT20u3ihwHmIAja02gAHBMa1V6xN7T6OExcBYR3tXjDbVhB7OJRKWNISKTDA4l592PNIzybzqAPcxY8OFDUrZVshNnC07MCGycvObARD093u0qlxLECyFDXqfr8ODUQZkBIcA4+Tuwno++rCVtRZzaWBltdjSBeA7yR4qEPVsrErNJfmHGe85L9b22gtGw7n+MOxGW1BdAShi1+bEmCQxpTxMm1dQ4LMk+ViTnINgPNZXpDHFiA9JyOfb+Q9LbN6WGVKDeXMmMee9t0yx564lhtmp2kvy6ljyMEEcfohpLW9dyQZf1gGhnluTIJlbTDHeMTQ9iJLiYTFbY7oPM45swgRghsfotuZTq9/tGXtr54Y2lg7EWpl/rH+vHNNodNKu1F7XMWWGzPjlp0o+3WX4kJtjws2ZeTTlm683Iuc9GfuFrtWOlgeg29xjZsMv9Wh0Hxv9sFTLkBT2TAq5oGFg7TKuwb0p/+2Gb7BpRHDMeC74Zi82cYSyHapgFO/lghVdDcnHvfJxxGnRR0+fwN7m2jqUitvFZu6bt5DSsfpClgdX/ibbi6nL2cyhy0sU2kUFFEoVLUp+rz4Un/wO/wrFEWsfhqwWKGo3EC9Wglk5KqTv/NjIAqbwFoJ15QRhr30uxCVLfWj/m7d5aem0Th57g71ydjDntRW2gX4oLJfTPlsmzARdgF61mWu0E4iNtntgW1AiNtw2APdlVYwDzbo8tYLg8zomDacU24x1JPxqNl/evI2 lKWL35fN Dlr4VVd2KqBZPW8WHcAZw5UNb45gN4x1BN1CCItaodLv/JY6irjvEMRx+Kraf37PsiUxUKBWvsenCtPVRahGmkZbzyTq4mBWwbiKyYa/3Z5F0FXlbf7+CGIyAaf09tR5HpEUzRqVXvxcZqbeVfpLuOFddrrQb+OaCluoJ2bXKt36F9ItTtZqX8ZEs8ijctqG6DoMEkiUNrV956pGvpaSwwCGSsdHwDWGjnrzxPFBbxPvEpVsRntZ/mHd9xjbH7CnSAr/Yh52oNis9e2ThwezcTa5tY7wAcVCCWLoQ3TWP4FfQxbqZFuVCYjSe58NpVVfVam0mbozcXsUvMV+vLf4d0CIzdKIVZDVnMKXg 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 Wed, Apr 02, 2025 at 02:58:28AM +0100, Matthew Wilcox wrote: > On Tue, Apr 01, 2025 at 02:49:51PM -0700, Davidlohr Bueso wrote: > > So the below could be tucked in for norefs only (because this is about the addr > > space i_private_lock), but this also shortens the hold time; if that matters > > at all, of course, vs changing the migration semantics. > > I like this approach a lot better. One wrinkle is that it doesn't seem > that we need to set the BH_Migrate bit on every buffer; we could define > that it's only set on the head BH, right? Yes, we are also only doing this for block devices, and for migration purposes. Even though a bit from one buffer may be desirable it makes no sense to allow for that in case migration is taking place. So indeed we have no need to add the flag for all buffers. I think the remaining question is what users of __find_get_block_slow() can really block, and well I've started trying to determine that with coccinelle [0], its gonna take some more time. Perhaps its easier to ask, why would a block device mapping want to allow __find_get_block_slow() to not block? [0] https://lkml.kernel.org/r/20250403020123.1806887-1-mcgrof@kernel.org Luis