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 9F147D68BCF for ; Fri, 15 Nov 2024 20:17:17 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2FCD96B0089; Fri, 15 Nov 2024 15:17:17 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 2ACAD6B008A; Fri, 15 Nov 2024 15:17:17 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 174086B0092; Fri, 15 Nov 2024 15:17:17 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id E83806B0089 for ; Fri, 15 Nov 2024 15:17:16 -0500 (EST) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 6CD1BAB549 for ; Fri, 15 Nov 2024 20:17:16 +0000 (UTC) X-FDA: 82789438410.28.D9EB4D8 Received: from mail-qt1-f169.google.com (mail-qt1-f169.google.com [209.85.160.169]) by imf28.hostedemail.com (Postfix) with ESMTP id 0F7C0C0008 for ; Fri, 15 Nov 2024 20:16:27 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=EYrVXbTb; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf28.hostedemail.com: domain of joannelkoong@gmail.com designates 209.85.160.169 as permitted sender) smtp.mailfrom=joannelkoong@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1731701770; a=rsa-sha256; cv=none; b=nm4lXuOppiDVdn1DQ5/fk1qXH84QM9K8gFmuTOg4N6SHlM0EdhKjQ8GD3oWSzwm48YuB0d UUa4e6i25s71W1hNOY0hEz70926+k+ZUJyRtE/6xjAnWZbGFKU3hGs4JR64FELnJp50Gji gzBq2t7KrsAT404HKrbYqKjlFUA1lQU= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=EYrVXbTb; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf28.hostedemail.com: domain of joannelkoong@gmail.com designates 209.85.160.169 as permitted sender) smtp.mailfrom=joannelkoong@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1731701770; 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=Qh0I7Vu3/qZRwEeJS0ggWs9HsmxO9itGmPQ36bmBqHs=; b=4m03mMbmCT5QKu27a5isNV5kPjde4shYxRtXvE++IuVzPrtFoJkl0ko9ine/jocmYp6d1n 1jcBLIqN8efTT2Egf+C6xg09auRUjbV0UKncbSf2cCQywOWXxaocM20sKMp03qo0/SZZPH bnvh2lBDUR1ajg3pfLIiR+m+uMOLnik= Received: by mail-qt1-f169.google.com with SMTP id d75a77b69052e-46097806aaeso76151cf.2 for ; Fri, 15 Nov 2024 12:17:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1731701834; x=1732306634; 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=Qh0I7Vu3/qZRwEeJS0ggWs9HsmxO9itGmPQ36bmBqHs=; b=EYrVXbTbnMZNlaQwyRI+8W14OX30c/LEyX1VYTchw9Ya0tlQfTQGP0VUbZNiN/aA1p bdIyeEqvsIpeVZaUPp7IlFByP05rF4aGb7j4YwTUlG/WledHoMJ8Fu65m5zrubx8vTOL C717/2LTEYUxRjfi3zDHbxYE78+ct9U5xX9kyZFGCL0HnIaeUGqJjfMCItPLCLrec5RB UvOmJdvseuGc6UZdBVO58cXvL6tdxmjZs9pLwUGwt9U+JkboUWKKnFwOnsA5aW4cmVtR D5M2g3zbF8HrntfvIL7KgJyTKZk8MGLY4JAgPpIEcJWW8TyR/+PK9rY6TPLLh4cuJClI QMmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1731701834; x=1732306634; 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=Qh0I7Vu3/qZRwEeJS0ggWs9HsmxO9itGmPQ36bmBqHs=; b=rkcCtGCrJ+jzDWmb/Tb8CLw40jIxcYLkhZR42rTfgfboYE+bGPB59m79V+6M2PzY+1 aGJGAgHFB/kGeltGe0zS40hD18YGBmsUBo+GXHfwOU1+wDc213I7wcOhl/3EI9F0duOv P4QV6hwWxBzehN/3ANQpxDKj0eppI+8qAcIj/4qMTFmdkQE0EfRks2ZIufAWRHDWsRhv /qD90bg5oIc3PzQ5W0u4gFj9DPIiWw1HsM9bfE44/rF4Ia6u3xTJLsZ43gmNGoU3aQyD Q6yyxPCCk7p3sS3a2SbefogHAFr/PNxfCOMYLWuLeTy7CA/U9PDuidptjeI+7PXf1GYR kNEA== X-Forwarded-Encrypted: i=1; AJvYcCUK7UEu4WlI8RiitTpc8ofPnRejvgItaGgpBvDU26IzrBIP/jWF0yI1d3RwdDFHs2r8M2hh678G7w==@kvack.org X-Gm-Message-State: AOJu0YzR5QFNC+2iQfb2VcI3hafpw5X8qjmAjoCVKDPXP5Hwzg2V4AYo aRqOkCUeUV1KQKSjb0XiWaG+o+V0ei36I9yvVRL3HIy5Vnb3KKBHfYXctYdto7Z6X6dm4OAikN6 lxWum7mvwLhUL/E1lqeoZqbGmbHs= X-Google-Smtp-Source: AGHT+IFo9bs/NXX6VgmwCQgjqu7sNaOLsuEMw29hSI02h8Mwvlmx8v9LUjg4r/mt7fhnF07DLJeATG5r/Flm4If81tU= X-Received: by 2002:a05:622a:40a:b0:460:9946:56af with SMTP id d75a77b69052e-46363e972b7mr55439681cf.44.1731701833679; Fri, 15 Nov 2024 12:17:13 -0800 (PST) MIME-Version: 1.0 References: <20241107235614.3637221-1-joannelkoong@gmail.com> <20241107235614.3637221-2-joannelkoong@gmail.com> In-Reply-To: From: Joanne Koong Date: Fri, 15 Nov 2024 12:17:02 -0800 Message-ID: Subject: Re: [PATCH v4 1/6] mm: add AS_WRITEBACK_MAY_BLOCK mapping flag To: Shakeel Butt Cc: miklos@szeredi.hu, linux-fsdevel@vger.kernel.org, jefflexu@linux.alibaba.com, josef@toxicpanda.com, linux-mm@kvack.org, bernd.schubert@fastmail.fm, kernel-team@meta.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Queue-Id: 0F7C0C0008 X-Rspamd-Server: rspam11 X-Stat-Signature: qdxucdom6dnehfbu96h89ym1wdc688iz X-HE-Tag: 1731701787-174347 X-HE-Meta: U2FsdGVkX19rLHLpVSqIl8+UpTZpuqLWVTSHY0J8+zy2TOKBDkUg+GdsLivlh7LeRLldal/VPDb+Ou//2Yjjv+G0A9tU+HzZagw+MGgsjouYlFtW3vKX4wBbkWc7pc7T5gxlHx0S0ud+gEwDDLv6hPr4ijmBxZLeM/CeQHSXz6NbQiq1EjrkAQentS7parkLBWNqJomvP0qwMX6WiLECmSv9u8RRjbaSHBbpbE9tm95ymMxet8qN4/W1lRdCWcNZrd40sD6vnULJPNCYdP/MBf84AFggHoSGKztGmwEOGEeu3SzJpqttCj7cCsmFm5NdwwIUordBEZQYxvOdHaS4eCEygrpNDaCCw/20xLr6jcS1rBWmEVdOXOrN9KCW7ddfiuLHbKZAZjnUhNg0Mzo126/F9aAl9atJ04sGkp9fGClrk/LwZhYSImLvX6JgRxtmns6lDieO0LtJ1Dd0PrNlUID31Z0HxyzwuPJ1u4y7j+Qy3j+ibgnLCRYdf4+jsCX72xNI1p+rAuEQtC7hULWJ5lr94hB3D6NKv5RUuFj79MRXSnAa4ZfYI9JNaRwykNPzjAUIRDyNg1Y43dHn82S/cEs5rKsEy8Kfp16hXjN/20KcvmFYa54g+nrjZVJItOpW6At0xmNCGxmAQSTVDcde9b1IWuJcH+HDYN4A1BqbFEMO79+iiCN11c5kBFINU5WyiVZITfD9spU7fN1nxdBb1f8yWBHPzq93b/xb1UvDc1kiNA/ueR4Prk0T/zo3i0q89OkTDF5nW3pVIA6xj46flfazUU/0HAiIVv/ENgBfBup+5V7oJUD3UFebwCmY8+MnFKpWzratiCURhHG8oL6LC4KyREqBrxqpGNC1zpMIdzOoKQghSLVt5OXl6Zh78CRYC7W6aUsfx+PmqRg4mmgZge5s9gQGmVt8rd/r5vwE6BwkCl0V6aRNmBACgXqK7GwRU22orJh+reYiYuxba44 8rsQpQoq qcFXZc3nQ3b8GyF5aOKkVO+auVLPqjhx4UuKypYulqGiUVPltaAOMVRSNbfXFid+SXGuEGaH1NnMGyYshJXNxUJEDgFCLaMQtMTpMMFue+szAR+H1FZfbJjzxIQjPXfxU6rZqYBbBlB9rnDyBfbI30edja2l/XTztdisLw9mvbfyQiTp7KKbxtp9/KHDFXEDe0uRH8BmjFNVryqecoKGXK7dfAo9/WMFsJEs/ZczEMbqd6TlChBOeUMMeeV+7ZOIEYT/QVQxjMcT4fVcz+Fzh54Woq3vrmJ9YZtdaFBBgSOYB8kj7FdeoeJvO24CiQDY90wVBJS7zn2DFK959dAq9Ujixnskgpg4LfJOLNmoM4qNt+IAJQ90s973drAJQ1X9PR7WOfGlNZ/wFyLebMv/qP5BAVt8TkKbteY/ZuQ6Fp+CmK+I= 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 Fri, Nov 15, 2024 at 11:33=E2=80=AFAM Joanne Koong wrote: > > On Mon, Nov 11, 2024 at 1:11=E2=80=AFPM Joanne Koong wrote: > > > > On Fri, Nov 8, 2024 at 4:10=E2=80=AFPM Shakeel Butt wrote: > > > > > > On Thu, Nov 07, 2024 at 03:56:09PM -0800, Joanne Koong wrote: > > > > Add a new mapping flag AS_WRITEBACK_MAY_BLOCK which filesystems may= set > > > > to indicate that writeback operations may block or take an indeterm= inate > > > > amount of time to complete. Extra caution should be taken when wait= ing > > > > on writeback for folios belonging to mappings where this flag is se= t. > > > > > > > > Signed-off-by: Joanne Koong > > > > --- > > > > include/linux/pagemap.h | 11 +++++++++++ > > > > 1 file changed, 11 insertions(+) > > > > > > > > diff --git a/include/linux/pagemap.h b/include/linux/pagemap.h > > > > index 68a5f1ff3301..eb5a7837e142 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 before m= odifying > > > > folio contents */ > > > > AS_INACCESSIBLE =3D 8, /* Do not attempt direct R/W access= to the mapping */ > > > > + AS_WRITEBACK_MAY_BLOCK =3D 9, /* Use caution when waiting on = writeback */ > > > > > > To me 'may block' does not feel right. For example in reclaim code, > > > folio_wait_writeback() can get blocked and that is fine. However with > > > non-privileged fuse involved, there are security concerns. Somehow 'm= ay > > > block' does not convey that. Anyways, I am not really pushing back bu= t > > > I think there is a need for better name here. > > > > Ahh I see where this naming causes confusion - the "MAY_BLOCK" part > > could be interpreted in two ways: a) may block as in it's possible for > > the writeback to block and b) may block as in it's permissible/ok for > > the writeback to block. I intended "may block" to signify a) but > > you're right, it could be easily interpreted as b). > > > > I'll change this to AS_WRITEBACK_BLOCKING. > > Thinking about this some more, I think AS_WRITEBACK_ASYNC would be a > better name. (AS_WRITEBACK_BLOCKING might imply that the writeback > ->writepages() operation itself is blocking). Ugh, AS_WRITEBACK_ASYNC probably doesn't work either since NFS is also async. Okay, maybe "AS_WRITEBACK_INDETERMINATE" then? We can keep riffing on this, for v5 I'll submit it using AS_WRITEBACK_INDETERMINATE. > > I'll make this change for v5. > > Thanks, > Joanne > > > > > Thanks, > > Joanne > > > > > > > > > /* 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(struct= address_space *mapping) > > > > return test_bit(AS_INACCESSIBLE, &mapping->flags); > > > > } > > > > > > > > +static inline void mapping_set_writeback_may_block(struct address_= space *mapping) > > > > +{ > > > > + set_bit(AS_WRITEBACK_MAY_BLOCK, &mapping->flags); > > > > +} > > > > + > > > > +static inline bool mapping_writeback_may_block(struct address_spac= e *mapping) > > > > +{ > > > > + return test_bit(AS_WRITEBACK_MAY_BLOCK, &mapping->flags); > > > > +} > > > > + > > > > static inline gfp_t mapping_gfp_mask(struct address_space * mappin= g) > > > > { > > > > return mapping->gfp_mask; > > > > -- > > > > 2.43.5 > > > >