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 7BC1DC369A2 for ; Wed, 9 Apr 2025 23:48:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3A86B2800B3; Wed, 9 Apr 2025 19:48:36 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 307B62800AF; Wed, 9 Apr 2025 19:48:36 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 182262800B3; Wed, 9 Apr 2025 19:48:36 -0400 (EDT) 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 E0CA92800AF for ; Wed, 9 Apr 2025 19:48:35 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 0B5D71CD5CE for ; Wed, 9 Apr 2025 23:48:37 +0000 (UTC) X-FDA: 83316147474.27.958E9FE Received: from mail-qt1-f180.google.com (mail-qt1-f180.google.com [209.85.160.180]) by imf09.hostedemail.com (Postfix) with ESMTP id 32722140006 for ; Wed, 9 Apr 2025 23:48:35 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="Ud/aZQzr"; spf=pass (imf09.hostedemail.com: domain of joannelkoong@gmail.com designates 209.85.160.180 as permitted sender) smtp.mailfrom=joannelkoong@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1744242515; 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=LTjrPSBrPYXmzrzc01mnjtNO0ZedRJO2/v4wSLyvGU8=; b=WcnbdDPX2cUb1KuySfNuUSTWA/2SCKVWlienjLh3CGyERDqYNPvuBw4lPtpHl88sTwGvZZ HCO4a51JkUDB9xZdpEHqUVJ5AZA5PdvKHbUGJ+lmw1c7w4vlQnFK6uKUTcm8edXXQSpKna iCwvw+BqXhwQbont2lkLXlf6i/c/djE= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="Ud/aZQzr"; spf=pass (imf09.hostedemail.com: domain of joannelkoong@gmail.com designates 209.85.160.180 as permitted sender) smtp.mailfrom=joannelkoong@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1744242515; a=rsa-sha256; cv=none; b=MYUkxmda46mm3D78ivbmExKh/SIrEEy/OCB8K35nZ+Zi8Qllo83V/0Yo6PfHL1mxfcPGMM HIYj38RWKYXTzobDrN/m4LS2zgFc3DCg5spFI8Co3eTW/r0PLGhFsCjnMDeM90b68NJsyZ CphYerHBJ7LB1zI9C4EGz4/lbuarjCc= Received: by mail-qt1-f180.google.com with SMTP id d75a77b69052e-476805acddaso1660081cf.1 for ; Wed, 09 Apr 2025 16:48:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744242514; x=1744847314; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=LTjrPSBrPYXmzrzc01mnjtNO0ZedRJO2/v4wSLyvGU8=; b=Ud/aZQzrBbcI4arYzxPjTqmugXMewqWMZgGElRxbc1NO223Z/8IPMuaaJk4QSxZMOV RXElEPg2fqLaTzqBr7PWQYvz2Bk8IK71kTAqeqMsLvR1mEdacgHl4SiHZYJj4OXjsMcH sl3ppNfIxikz3gN1BjR7BrjRg3U4i+UZTIR40cTfM1HS8GtlrI5h2pgscgaRw3gTGJAl OW8RsRlFjTrXXvW5W4payOfufodZ19d/91Bqszh84n2UujOyWLAGebdnFvttiC1dh7iF bh+zXFSBm+EUyCu6jnpt1TILXJf6hOoIXVjnOllGNzkBqe1kMkW1t8Kt+xWguyEwv7f3 J5KQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744242514; x=1744847314; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=LTjrPSBrPYXmzrzc01mnjtNO0ZedRJO2/v4wSLyvGU8=; b=WyflOcTzwFhxpKiggPI0LdWndUApW0+3xjNLzcajXn9Wdb845ttbglIFqU8i/XU3mm pJRfXx5A+R7dQr/1dRLCfZ3btQFox8xqwNJa1H3zvdJGgZimM1ptbQ+ajmDlaV0CmUBt MCMNZSvy5thxD/Y6lCGae1kjmOMgDpYBdmjXRt0rUKCak9b9L3cnCDLJyTCL//R2Pb+7 ioNQXuWzZz8Ld8gEX8bLvIWx76A1+M7Afoa6OFB52/4y3PonSQPZwk5ktj173HuIu3dK BMV76WE6NXl+CL9IWE7kPG3h3pfTmLk7Fo8Lr5RzVpf4K9w5NVC7zGowC4e/yk/BTN17 HMvw== X-Forwarded-Encrypted: i=1; AJvYcCWLP8URbm7YeuZXcdlfdAifqTi8vLiI7Foa65vcFtvEtjqAyeaUxEUG5PJVOsjyNv6k9D/soJNx/A==@kvack.org X-Gm-Message-State: AOJu0YycMELBEyDTG2MNEf9QrK/c2S0UQ8dN1S79ZGUxjZ6sdSoF0b5h jp36ebgnwjmWiuxh5rmS89oyPBPGznA9N4kHdTPTSPkwOXJJhOs+twV9Lhqb6KXd6rEZnzsGoed 1lpI29NDbKkaHZIJCNqRzcdYbxHU= X-Gm-Gg: ASbGncugd3uLbuqBYYeEi+urqRRX5z4HpLk8pq7doZBFNDxy50lCOvszrfem8OkbOqt oWhsVo/ssWZC+VwYA+6fW1ut/HB2oTw+xo5pr4zJ6eU4t8SrFNVsgUBiqqi0aoInYHWAnmT8MzX UuR96NNubE2AHtwauOt+1tx6yrmrRSx8fWJyciwrOumYDb5Yae X-Google-Smtp-Source: AGHT+IFjNAMEynO/Y+tFwWVJsr8l5Ssoacz9wKgc3F5AeOePnRb92snRqL3R1zs4lx7teB+6m61wE6vaawvomov7VeA= X-Received: by 2002:a05:622a:1808:b0:477:6c0e:d5b3 with SMTP id d75a77b69052e-4796e2e44aamr5376201cf.6.1744242514326; Wed, 09 Apr 2025 16:48:34 -0700 (PDT) MIME-Version: 1.0 References: <20250404181443.1363005-1-joannelkoong@gmail.com> <20250404181443.1363005-2-joannelkoong@gmail.com> <0462bb5b-c728-4aef-baaf-a9da7398479f@redhat.com> <221860f0-092c-47f1-a6f8-ebbe96429b1a@redhat.com> In-Reply-To: From: Joanne Koong Date: Wed, 9 Apr 2025 16:48:23 -0700 X-Gm-Features: ATxdqUHqGhSUIMY5llb451gYpNwyrRA48zN9G3QOwLnk0WbeE4lpSvVouWTFKQg Message-ID: Subject: Re: [PATCH v7 1/3] mm: add AS_WRITEBACK_INDETERMINATE mapping flag To: Shakeel Butt Cc: David Hildenbrand , miklos@szeredi.hu, akpm@linux-foundation.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, jefflexu@linux.alibaba.com, bernd.schubert@fastmail.fm, ziy@nvidia.com, jlayton@kernel.org, kernel-team@meta.com, Miklos Szeredi Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 32722140006 X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: fcpueum5zxbksm9ch3s3tuc1pzjjh3by X-HE-Tag: 1744242515-542722 X-HE-Meta: U2FsdGVkX18ePPqiS9POTcseMZPTlv13hZtr+b4nzNtguSpi6tTyXWk/hSVmsrlogjsz5RmR6+PN10XmXT8HivxLF8Lafas+D9nBET0qaVTLbQhUeo/0IVVhedf0m8fZn1hnVOavOArU4u51NhCj0tezj2BXi+TpxqNaUQTC5K08p5o22hEbrfMCLzBGZ6g/GsGHyp8gbQTnXRzfKOAUySCEGQOXB1spMgFRaIWrkAPLOiJ3P5Ub0Zvyn0c2CKPskHixXDLEIqLWlREWKdwB+2JLSTy/RV/4kdNrWt6R5djG8AAI5L75MQRbl8UYoRb5wwRTdjdWWzQZXnhEvTneQu6kGVKN2dkjQw2kU+t1JSgA/BHnRdpKWp6apPp4e/F2ULWhz2aIbkjPUj1geL/lqdiO/egIWBffrgsDRWr192iMFwU1QEodJTJIuhxjF8Ez579HclG+a/gqVx0vVUezJl4h6WbDBb19V/ZLqsdDFe5KdwXNuskb/VRWhUPfnpW+dnYnhBNRKyNEH+EahY6w0A29ntqiAaRoGKo5fxOgCR4lCtn1Jez7XZzseNfQTMRo7wI7TFBsH16lHVvzuTjnFWP6Ldkq/76Kh1kZgs92Y48AOxy9Yc8nEiDBsdleIIZ8be0n/Y8bln1czE3/8DsZ4yUMvYCMRKa8j0XRav39lLB6Rx7+G6wsFl6n9GCNc/YqqrPSTYfzULuyIjx+x4GEB/1QlPZADJwhAxNPnNCyKCk5ZYdDjd6/qaftWz39t+xYzzc+psx68jiSrrDuNP6ll/YbilwgSVwpofR+4srozVvGwc5YBf5X8JvzPVEiqGc/HJJetBSNSvO64Mt6lc3unbLqmGO8qPwD9gPaeLljQq7rgKM16KMQaHya8CP32tZm7Ac28zd0re1q98sFyHLY+JblJmY+hSTDzgX8oUhxQEvPS8iuC+8vre0uc4FmcjJ74u7c6M8gXcHvqAI1TUX iSQgaCJE TfiAY10ESMsvZmDts0z2Ksn03P5qCCT3C6EHbmLxOT2fQ8psk8IYDhS2085TzoeFpMGaVZn//+qD914ZhKU/fnPdgA+L38Sur84EW1ZBEKjaiwMi8+D8VtcjFu00rwLgDSyX7AifXW7IOWUj07a8avRsAvBFdJI4dwFPjQN2bsAdn1yhE05MIl8vK5AK3L9v4Qfw3kPBVcmRHlIgZz7tUUioqD7GYPZGZR+e7tfL0oVySnQcQw0FeOj6ChhPJEGGIxaS5V/Dk+tsCT8ehxBkSxIOfI97WxiRAr6DzWw3NXewuSA/jXlKSl9JP15D7PVknelr89aXhWmBPVKnL+d57unCGk0gLevaNEwHnFr9HxPsn6jGiuB9e5StwEH4WTLEwmmKk0Q42rUOqjbPjBWVQKytflVeWXSxex3E7 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 9, 2025 at 3:05=E2=80=AFPM Shakeel Butt wrote: > > On Fri, Apr 04, 2025 at 10:13:55PM +0200, David Hildenbrand wrote: > > On 04.04.25 22:09, Joanne Koong wrote: > > > On Fri, Apr 4, 2025 at 12:13=E2=80=AFPM David Hildenbrand wrote: > > > > > > > > On 04.04.25 20:14, Joanne Koong wrote: > > > > > Add a new mapping flag AS_WRITEBACK_INDETERMINATE which filesyste= ms may > > > > > set to indicate that writing back to disk may take an indetermina= te > > > > > amount of time to complete. Extra caution should be taken when wa= iting > > > > > on writeback for folios belonging to mappings where this flag is = set. > > > > > > > > > > Signed-off-by: Joanne Koong > > > > > Reviewed-by: Shakeel Butt > > > > > Acked-by: Miklos Szeredi > > > > > --- > > > > > include/linux/pagemap.h | 11 +++++++++++ > > > > > 1 file changed, 11 insertions(+) > > > > > > > > > > diff --git a/include/linux/pagemap.h b/include/linux/pagemap.h > > > > > index 26baa78f1ca7..762575f1d195 100644 > > > > > --- a/include/linux/pagemap.h > > > > > +++ b/include/linux/pagemap.h > > > > > @@ -210,6 +210,7 @@ enum mapping_flags { > > > > > AS_STABLE_WRITES =3D 7, /* must wait for writeback befor= e modifying > > > > > folio contents */ > > > > > AS_INACCESSIBLE =3D 8, /* Do not attempt direct R/W acc= ess to the mapping */ > > > > > + AS_WRITEBACK_INDETERMINATE =3D 9, /* Use caution when waiti= ng on writeback */ > > > > > /* Bits 16-25 are used for FOLIO_ORDER */ > > > > > AS_FOLIO_ORDER_BITS =3D 5, > > > > > AS_FOLIO_ORDER_MIN =3D 16, > > > > > @@ -335,6 +336,16 @@ static inline bool mapping_inaccessible(stru= ct address_space *mapping) > > > > > return test_bit(AS_INACCESSIBLE, &mapping->flags); > > > > > } > > > > > > > > > > +static inline void mapping_set_writeback_indeterminate(struct ad= dress_space *mapping) > > > > > +{ > > > > > + set_bit(AS_WRITEBACK_INDETERMINATE, &mapping->flags); > > > > > +} > > > > > + > > > > > +static inline bool mapping_writeback_indeterminate(struct addres= s_space *mapping) > > > > > +{ > > > > > + return test_bit(AS_WRITEBACK_INDETERMINATE, &mapping->flags= ); > > > > > +} > > > > > + > > > > > static inline gfp_t mapping_gfp_mask(struct address_space * ma= pping) > > > > > { > > > > > return mapping->gfp_mask; > > > > > > > > Staring at this again reminds me of my comment in [1] > > > > > > > > " > > > > b) Call it sth. like AS_WRITEBACK_MIGHT_DEADLOCK_ON_RECLAIM to expr= ess > > > > that very deadlock problem. > > > > " > > > > > > > > In the context here now, where we really only focus on the reclaim > > > > deadlock that can happen for trusted FUSE servers during reclaim, w= ould > > > > it make sense to call it now something like that? > > > > > > Happy to make this change. My thinking was that > > > 'AS_WRITEBACK_INDETERMINATE' could be reused in the future for stuff > > > besides reclaim, but we can cross that bridge if that ends up being > > > the case. > > > > Yes, but I'm afraid one we start using it in other context we're reachi= ng > > the point where we are trying to deal with untrusted user space and the= page > > lock would already be a similar problem. > > > > Happy to be wrong on this one. > > > > Wait for other opinions first. Apart from that, no objection from my si= de. > > I am on-board with keeping it specific to reclaim deadlock avoidance and > naming it such. Sounds good, I will submit v8 with this renamed to AS_WRITEBACK_MIGHT_DEADLOCK_ON_RECLAIM. Thanks, Joanne