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 2ED90E77188 for ; Thu, 2 Jan 2025 20:12:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 942B06B0105; Thu, 2 Jan 2025 15:12:32 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 8F1FA6B0106; Thu, 2 Jan 2025 15:12:32 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7BA2D6B0107; Thu, 2 Jan 2025 15:12:32 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 60D876B0105 for ; Thu, 2 Jan 2025 15:12:32 -0500 (EST) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 22F4A803A5 for ; Thu, 2 Jan 2025 20:12:32 +0000 (UTC) X-FDA: 82963608756.28.B9F9A60 Received: from mail-io1-f46.google.com (mail-io1-f46.google.com [209.85.166.46]) by imf10.hostedemail.com (Postfix) with ESMTP id C5679C001D for ; Thu, 2 Jan 2025 20:12:07 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=kernel-dk.20230601.gappssmtp.com header.s=20230601 header.b="g2/5Nbiu"; dmarc=none; spf=pass (imf10.hostedemail.com: domain of axboe@kernel.dk designates 209.85.166.46 as permitted sender) smtp.mailfrom=axboe@kernel.dk ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1735848726; a=rsa-sha256; cv=none; b=DpK8e2y9zJ7hqzo8ImXV3+EqPgNOYPsLzh7Wnl65qtwjUGlLPJaRyFYrw3Kl9VpocjBE1B BG4z9xl8u1J3t0kmT1uN2V8bXK9S9Hsxez5fT3SJNM4vGHXBzipARxlLgkjgxCb/bOV0B3 SmCUfy+9B2tnw3OmvcAelxQjv26razo= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=kernel-dk.20230601.gappssmtp.com header.s=20230601 header.b="g2/5Nbiu"; dmarc=none; spf=pass (imf10.hostedemail.com: domain of axboe@kernel.dk designates 209.85.166.46 as permitted sender) smtp.mailfrom=axboe@kernel.dk ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1735848726; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=v2UPZHRZRRh2ttfhUjF6HZBoXRk72xT/3w5rhEqqtEw=; b=QlJbg8IxoHSupWFA1MnPFSSmirezLG/stY+MCZ7M/22xwARNpRrnQAz17X2nHbTRTtXbeg sX6gu0IeIfPyhiUnYp8SqXWMrE/Vs0ZASP8+LDCzrcjA59Tuf+ojVbO6LEFALlssixkwjw TzS0m3JwrdUwLfM0bWU7fLUCBEQr4B0= Received: by mail-io1-f46.google.com with SMTP id ca18e2360f4ac-844e9b8b0b9so934020839f.0 for ; Thu, 02 Jan 2025 12:12:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel-dk.20230601.gappssmtp.com; s=20230601; t=1735848749; x=1736453549; darn=kvack.org; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:from:subject:user-agent:mime-version:date:message-id:from:to :cc:subject:date:message-id:reply-to; bh=v2UPZHRZRRh2ttfhUjF6HZBoXRk72xT/3w5rhEqqtEw=; b=g2/5NbiuyewTulVXsfVv9hQUg/vq0d4AVhVK7XgZ5OSbIoAoLma9A6hyETnLVSHYyr uQLvRaYR3LQoBB86wE15S7vNpnPZ1dR2WTz80oYftOm+Irzfl/ilCP2KvnWwPvWZlWdm i/EXBP/cxIq7sqighToSENK6UevpfkO61hH4i8BkcSCkkR/K96LUBhUfa6qM+gvx1ncL tB3TLT/QQE4F8peT987XnK2FHHB3nQHMvyA+GZ0rDDLYGF8+HvrLCqTqlWGK+sCFX59F YB+YTL2ItCpykP2lTpNrBHOS9/xCUaS+cmuNj1YD5H+QcE9DfiWwrP48cJuoDWWowP70 oQ1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1735848749; x=1736453549; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:from:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=v2UPZHRZRRh2ttfhUjF6HZBoXRk72xT/3w5rhEqqtEw=; b=ks4U0gO9tUeYieLsPDCzRYayAzgbwXkjCT4PhXLyzst5tuy8DgGfkBxjdE/oDqO9df olpefbQOXEE2R5bSh2F6wqfCJ9KoCPGEAizojzV5lCZrXeW6MmSOCbJmRrihnTMv8AlB WBN4ECgXnzPPxE0XW3QsaIE7N5uGInoZkze0dpzXsPvQttnQRurSGNleQ6ihXy8nibDQ 10Ttkl9tVC3+cxXxzm7kth/w4cjPplQtncUVPeGUj0QDCPVb/z1blmliBfx+s7PdNanJ lqEHw9CRm0riN6Or6vORS+4OzYdfWXgk/jDnMNoclO+n6IKFnBrhGw7a8Y7/VEqKOaJp XnFw== X-Gm-Message-State: AOJu0YzlrdQdNhhdFnYfIZz3S3yFH1bGfgXV9pErR8tb2auHeirLG407 iMCDEN5HDXuE39hnc5vfLssA4hhwidfL8ql1UMH19q6RNz7O7KImLp12lSH9fi8= X-Gm-Gg: ASbGnctu6coGXtC3AmRjcXriubghSwWV+Jkl7GlyuHSg4m3nHq4PFZwhLKOofabne91 1tNacU2BRmFtWO1Gho/HxAl+opb/dBe6B0ZJUTJ8c1MQCIIIwT04CvvBYw0OS3U16H9XU2umDKs 9ct+KTkLwPHg0zBNJUPL8cs9G/CK1pm8nK3TteaP6Cmv2+T2ykRAIBFDGRpWmcMeDV1LiM6CrgR mdrUmPwCXqlKO+aewL+mFEo+VxwxPzdIowU/1sKQK7+twqnZRzeGw== X-Google-Smtp-Source: AGHT+IEYlb99o+N5pvNX82iwMSNOKAxLdsrEbVqa3Z0i9O3bTDsJaWg1lIWWOB2JxeZcRAFbxYbMjw== X-Received: by 2002:a05:6602:14d5:b0:83a:b500:3513 with SMTP id ca18e2360f4ac-8499e4ee9a6mr4443687939f.8.1735848748939; Thu, 02 Jan 2025 12:12:28 -0800 (PST) Received: from [192.168.1.150] ([198.8.77.157]) by smtp.gmail.com with ESMTPSA id 8926c6da1cb9f-4e68bf64f29sm7341845173.43.2025.01.02.12.12.27 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 02 Jan 2025 12:12:28 -0800 (PST) Message-ID: Date: Thu, 2 Jan 2025 13:12:27 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 06/12] mm/truncate: add folio_unmap_invalidate() helper From: Jens Axboe To: Matthew Wilcox Cc: linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, hannes@cmpxchg.org, clm@meta.com, linux-kernel@vger.kernel.org, kirill@shutemov.name, bfoster@redhat.com References: <20241220154831.1086649-1-axboe@kernel.dk> <20241220154831.1086649-7-axboe@kernel.dk> <5cb98ddb-744a-4fc8-b793-9dbe56e16f35@kernel.dk> Content-Language: en-US In-Reply-To: <5cb98ddb-744a-4fc8-b793-9dbe56e16f35@kernel.dk> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: C5679C001D X-Stat-Signature: cjacuermqyqc8gxxtj7shgo8grdcjshu X-HE-Tag: 1735848727-491719 X-HE-Meta: U2FsdGVkX19q3qWoUNSQjEPFJdbH4sAO0y8YarOe/pwhkozkehW46pvFvSh1RjeYV61fMXZDE/xd4FXmfcVQhdVOh5u7WzYnt8J4Bsjf3psg56bYmevXb5qGWZdC+s5gxYMqXsahNWdU3IWZG9RS1fZJDDUZFqK7BIhoesSG+TSYaDMe4qWDMaGkjwFb5Bp9yPt+ZeX8jHIO8T8xb58bBhriyXZ+y9Ryy4xRIxVnVHPLZC3IGDl3qAIbKmLvB8v26bpC1skIvb0rwIXElJ2EYZBKaV9ZETBeR/twFHSwGHrdk0C30F08V9v48jdBRd1fp56Q0DK39jLARiDucoSK1I85MkFeb0e5QNr283ZovVmbvjwDAaT2HM69p0yZbMSYmPGh1xculTqPYWtmBxCqRBTfCF7FfMaQkee56Q16iJskJVZPIxk5+hThTeuqfuT2swSMd8KfldFDkseYZi9EvdTErRsctjP6PsicvMdRJdeiRcerHSAcWkpEKttQhXMPoZIZ2bJsJ0n+Vtqt+2BLJmD1ciUcbvymzJGPZBSLem+ESCwxZq8UEHPZfJQGDpjJMHtDgLVvesFcihNjc3TpFzAorDRlX1+5n5Z4xOvRCi3tHsYwmXaXG37ZWJJnPa5C2MU9AJHUymvDRPnVI9GJYOpEatcWAs+tYfYS7drQCPxMbftMlIvWYc8cXNmojSl/8jWHww68bZ0cH6hQCITAYX+lwZFxrhhCcisdhiM3GfOO7cTWSJ8ztffsyC9+6PiZ8VLov9G8Pj9CrCTEli8MW9ivLSEO72sL3WlVkHpiMQWk09pRbiJiq5n+V27VEOxkawquZN54zKuq9AxfHOtOIESenJfXcdUJu8b5CdEn1mm1euKvqF2Thr7mPd4RCbz2wnp0waFJ2YAnsKKSVlPvf+dcM4oqxcsyBcTEoyH0r42AMPq08IdoVwtQvmvw9HjTL67W4jZl8XpgqK4WJoT itJzIYo8 NKqTsw9lUkCn9A6MFhPiZp1AgoegC9tDgp4CdX31Gb6oeTE2Dk7RnVxQ/+kxdIngvqMWHRm5JpuM+c192vwfteeGk1KS0LmxRBEsbhqBpduUkXHaCR42u2xZHEIOs3UA/cgK1SoVLqqk98F+JYyfErEWb3IeU6Y3RA9L+rjo6c+R8dk19DB4I1YRi6VJ5mdhFKUd+0KYMdK5vH2SunNd4+vmyxcbNRNkRd/Repb9oZs3CDBDJTWo4KO5N5xbudrBOeClaV/rPWBlvEXMsUm2QZ4+9FylA6fjqpGECvablfzoo41oFndOroypsxC7sXQavlxWJMlGGs0IPxBt5ZYNE7J2x4ZE1a1HBbK/nlFRFDa0Rrfyittv54QdGj08KfrsD6FQI3ZfCXMWAt4kpqOjc2wqbVw== 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 12/20/24 9:28 AM, Jens Axboe wrote: > On 12/20/24 9:21 AM, Matthew Wilcox wrote: >> On Fri, Dec 20, 2024 at 08:47:44AM -0700, Jens Axboe wrote: >>> +int folio_unmap_invalidate(struct address_space *mapping, struct folio *folio, >>> + gfp_t gfp) >>> { >>> - if (folio->mapping != mapping) >>> - return 0; >>> + int ret; >>> + >>> + VM_BUG_ON_FOLIO(!folio_test_locked(folio), folio); >>> >>> - if (!filemap_release_folio(folio, GFP_KERNEL)) >>> + if (folio_test_dirty(folio)) >>> return 0; >>> + if (folio_mapped(folio)) >>> + unmap_mapping_folio(folio); >>> + BUG_ON(folio_mapped(folio)); >>> + >>> + ret = folio_launder(mapping, folio); >>> + if (ret) >>> + return ret; >>> + if (folio->mapping != mapping) >>> + return -EBUSY; >> >> The position of this test confuses me. Usually we want to test >> folio->mapping early on, since if the folio is no longer part of this >> file, we want to stop doing things to it, rather than go to the trouble >> of unmapping it. Also, why do we want to return -EBUSY in this case? >> If the folio is no longer part of this file, it has been successfully >> removed from this file, right? > > It's simply doing what the code did before. I do agree the mapping check > is a bit odd at that point, but that's how > invalidate_inode_pages2_range() and folio_launder() was setup. We can > certainly clean that up after the merge of these helpers, but I didn't > want to introduce any potential changes with this merge. > > -EBUSY was the return from a 0 return from those two helpers before. Any further concerns with this? Trying to nudge this patchset forward... It's not like there's a lot of time left for 6.14. -- Jens Axboe