From patchwork Fri Apr 4 18:14:41 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joanne Koong X-Patchwork-Id: 14038728 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 B742BC369A1 for ; Fri, 4 Apr 2025 18:14:57 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B77586B000C; Fri, 4 Apr 2025 14:14:55 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AF9F76B000E; Fri, 4 Apr 2025 14:14:55 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 973BC6B0010; Fri, 4 Apr 2025 14:14:55 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 765E86B000C for ; Fri, 4 Apr 2025 14:14:55 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 9855B8014C for ; Fri, 4 Apr 2025 18:14:56 +0000 (UTC) X-FDA: 83297162592.26.1331162 Received: from mail-pl1-f180.google.com (mail-pl1-f180.google.com [209.85.214.180]) by imf19.hostedemail.com (Postfix) with ESMTP id AD8861A0004 for ; Fri, 4 Apr 2025 18:14:54 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=jc91jFfU; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf19.hostedemail.com: domain of joannelkoong@gmail.com designates 209.85.214.180 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=1743790494; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=fl8QoDkWZfm8DTTKNPo/wCbrE6y7cAAPOUh+ANXI66Q=; b=pGGsWxesKavrS/RFifuEgyXSm6gh2i5BFsLRs5JILwRYjnoNBKQKRpHFIY5RYIeaPKxFCr NvGds1mZOpE99+8nPrhAVF2WkK4aSTibXOBHW0TrwWp+9vN7ZEMN8vx+sv+XmzQYF44/Mg vdCOHzGlLL9S0/fPGfIiomk/nmr3aRI= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1743790494; a=rsa-sha256; cv=none; b=Nr5BZ9VbyLP/r/JhkJTnrx1Ufgl9KYX6XFIfUhuE8tbUBn4rT8tPuchUdnT8VfqkWMp6Fr p1LSUPp90ajcYeW6+zErxM24qF2SPsm7J+XHlfI2OU1oy5jGRFEtPCha9jEt1Cf1yrkizx lf/LPnrhzKD3hRO2Tde8XffeXch3MJ4= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=jc91jFfU; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf19.hostedemail.com: domain of joannelkoong@gmail.com designates 209.85.214.180 as permitted sender) smtp.mailfrom=joannelkoong@gmail.com Received: by mail-pl1-f180.google.com with SMTP id d9443c01a7336-2243803b776so34401185ad.0 for ; Fri, 04 Apr 2025 11:14:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1743790493; x=1744395293; darn=kvack.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=fl8QoDkWZfm8DTTKNPo/wCbrE6y7cAAPOUh+ANXI66Q=; b=jc91jFfUBKoWqezp6jm2flAcz55lTQ7DXu+mcpghmTbzgzoUMWexihpLgUda3np/Jq Z4g3l84NmFLCFhe6EdBvAjH86MEcfbNOcUXn3T9CAD1yLYN7LaQBr2zXBNDJZ+Rcxcte /Rw1zfwm4Pbf2NLFHc8aww81iUHqPGDyPXLDe8K/QteoV3X5bMmljERJJMesBm/pZzf7 McXHhzHy0CpcCgur4zSu5nulAcTsA1JyeSbeXLah5ONuRZ60iEs3SEhfmvK2hWnywc7y B13FtiiYCDA8SYtA66Q72yRo5UPKmKvWew1DMAuivy593V0g/3bl/Bo9ey0EUbVLnY1G A9qw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743790493; x=1744395293; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=fl8QoDkWZfm8DTTKNPo/wCbrE6y7cAAPOUh+ANXI66Q=; b=Qac/2sU4phRG9AsriJlDpDGqwf+XuV3uvKuWQ+pgblRve94/GEr0yzOrVFhx4tjdnS rk5fGwbkpQXTrq32+NuSO0NytkRjvnKZvzuZaoNFPlUDpre2fKRT3lRH6P+580Exoesp h1UG+SMe+5GNHN8qXPZO7GR3oREsdCGA9PZ6/1cBK+pDGkIWXfAdWbKpe4kajsNl6ZmV s5jUihEuVT8gsGgk/HOpl3yd6gFYudV/4Rzny/LWHeXnXqxAvV8tbBATrCeN7CNMMjha RJdRkFE1b08/V5w5gQWEN8W+RkrPW7nx8iMpENlO4/Fio9ZLt8+DW8NarwFkXpCeMnDT SQ0Q== X-Forwarded-Encrypted: i=1; AJvYcCXEr6bOYCSMRec1FsbjDOi0Hxe2p6YqX1DGBSyBzepcDXwRZhk1YnqDnA18HDVcAaIEZjeKlUrnyg==@kvack.org X-Gm-Message-State: AOJu0Ywa7zzR2oGibjyxFVOsP2z9YFgRWbj6fLhGmVbXlcAtkfLVTKCm 8OCSapCaGeZsGf8w2igTaxJyA3wYKzudXiEnPoBDnDx+HhvoARmu X-Gm-Gg: ASbGncsqsaDcJybt7cBU0ll2OsTEzu9ow+UXManHCjoGda/RPXEA7xsE2FljuMjZho3 Er/E2i4YejDyJWOaISUNiQG7POl32rpEGebL3e/wADSkzDJ3Pt4t16DTx8KjbGsXDMulKXA3JJQ 8GJcJHTLUWQUCswpybHKgtD3y4mhzHJEUwEqgViTXuqv59Iq7vYp/vI2BO+f4WHSBW97N03dUa4 U5+a0IHtIlzynEsXdgtHrf7+SnJJNFgnlunIqTLWWR4dnL7E3jAGaA0rXYfcmfKJI6FX4zir/WJ 5RpAA53XTKsNP+WmRui0T2EGd+Cr3C1VJ5i2+94= X-Google-Smtp-Source: AGHT+IFQWuRUYtqQ9PYQeKB91kmnnsp+MBvvTBYSFVfsYjy2EJYrTFwForkG0Fjr8XsdVucFtVIK+w== X-Received: by 2002:a17:902:ce84:b0:223:397f:46be with SMTP id d9443c01a7336-22a955881b8mr5396015ad.47.1743790493629; Fri, 04 Apr 2025 11:14:53 -0700 (PDT) Received: from localhost ([2a03:2880:ff:5::]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2297866e173sm35372415ad.192.2025.04.04.11.14.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Apr 2025 11:14:53 -0700 (PDT) From: Joanne Koong To: miklos@szeredi.hu, akpm@linux-foundation.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org Cc: jefflexu@linux.alibaba.com, shakeel.butt@linux.dev, david@redhat.com, bernd.schubert@fastmail.fm, ziy@nvidia.com, jlayton@kernel.org, kernel-team@meta.com, Miklos Szeredi Subject: [PATCH v7 1/3] mm: add AS_WRITEBACK_INDETERMINATE mapping flag Date: Fri, 4 Apr 2025 11:14:41 -0700 Message-ID: <20250404181443.1363005-2-joannelkoong@gmail.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250404181443.1363005-1-joannelkoong@gmail.com> References: <20250404181443.1363005-1-joannelkoong@gmail.com> MIME-Version: 1.0 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: AD8861A0004 X-Stat-Signature: a5gjk38xs4p7bpdrcesodk517np6cz4u X-Rspam-User: X-HE-Tag: 1743790494-86425 X-HE-Meta: U2FsdGVkX1/FgdADbYfnZ5H/j2LE07nnhDQEjg2x8VEjw2M3dc5NyWqZpBQ2XsWJCUOt8B3V/Vf2V67smoDKsrszviqDFO7fQ7W0YG9ZyWaweJdP0JEGXeMliPiKnwScRHUmtOuEumnd4/AaxKzLfukFGLiZHCieZZe+48a9HTyUvVrNGyLgoV4rg+qv82f2Y6I2xSpF/WEs5oHWNCCr1OszPxB+Q9OpmjUWfVrhVkdsAJE62qZK9EAigQ2L4L47tlW0m9/JG0rOSxMk5X2hZ4KLaR23pVkHh/MYgaC14bHT9z1vEOA2THEqfFMQinnlKl3JtzYcf+Eahtus+FzL9WRGiJMrEieEwbgP+M7MsHI4/PtL0hfkrG9AmkTWjYEoab/lLIqgmlLe1LjnIxocVzJRfmnAGQjrweDZCe6DbEtH88lagRRYQ7ZRN+axWF76Dnp0zr6FiJOq8ZmEMnZ15NrHS1J+reJZprFDfvvP/uWdZwrRCcQPfQW7HJk25NkPFtZl59C/oG9CiAZlHEyc32NZRFWZmU7ui2pz8kfQZ1zKDpLFMaVp1YbAicRktd9Hom78l6Eaf0HPGlht312YQaSaTmxbxcoPobWYU4g8bm0z8iBEKv3QgTqtvdLXShNOyU9eNjoALRfMEBWtfWhwNHA0hJxWM96o8D5s6jaB1mFU9wRXC7+AAdtnrfhusqBWIwwLfrrn7XvXuUXvsCg9XCdlzFGTQFBxwsl8G7GESJIn/lsBgbz8WuP1ldBxC/bp3XSlYztp+yDMBwdSMzWv7R1KaeWd6kXIpj1vstxTTPNIvBKDUy1k9B/JbCYESgY+4OoDWkmcIAyXr4g2UWNHWejNMxIA3u1lv8fcDCW2k/AklNZ2UmliteVNVXg7DxTB6N5Wl6GKXV3xnbfPoR342I9npzTH+8xRUlxTt0wEAlIT6uLlSRMhr1xRe4j8ceCaZdPomPar1WcA97qdyWT Ak9Q+cNJ LRhSNpjYzI0L/NKmqX+H/0HXgTC+9F7vOaMVXUI7HuFNkCE/m0qoACCE+OZuj4uL95kViSpCF7nouCUP9PdV6NEEdGS6BWfUcehUSwdxvJIXqkvKnT5L9KEzirLYYClnOM+FkpQlmeX5u7Iz+3NHFWa+K5FYwYAN5o+Wdj2/PBSTSLxMVm9NVwTHV98jDser3/WiX1R+/sHwKFxL8aLFqBdj7wxqbOvxkppuUQZusgaLSm2LVClCtVPWo6CLXxdiaLtIo9u7Ok9jMMK8lps6XPIufRpsRYIC7gtc32ZW8UBKrNhUHoi1ErDVQ8Ib2ceLqnNk9iomaPtezJcXcU6SjjVj/YZ0rJlEWK+44vaMHihwJHiBSxPwPCw5ey1//7TMDsBwWMxrvrp94vHSSONfChij/OVvn8CpkR4202Gz1GGIPwkAmmBHN7SM+cmfS4yKKzomcrvDknLBxnYYq4DR0kKm5Y1Q6SgR5jUl+4D2inJCoq5PFKY9CyDImQ6pBmQI2Zxe3 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: Add a new mapping flag AS_WRITEBACK_INDETERMINATE which filesystems may set to indicate that writing back to disk may take an indeterminate amount of time to complete. Extra caution should be taken when waiting 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 = 7, /* must wait for writeback before modifying folio contents */ AS_INACCESSIBLE = 8, /* Do not attempt direct R/W access to the mapping */ + AS_WRITEBACK_INDETERMINATE = 9, /* Use caution when waiting on writeback */ /* Bits 16-25 are used for FOLIO_ORDER */ AS_FOLIO_ORDER_BITS = 5, AS_FOLIO_ORDER_MIN = 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_indeterminate(struct address_space *mapping) +{ + set_bit(AS_WRITEBACK_INDETERMINATE, &mapping->flags); +} + +static inline bool mapping_writeback_indeterminate(struct address_space *mapping) +{ + return test_bit(AS_WRITEBACK_INDETERMINATE, &mapping->flags); +} + static inline gfp_t mapping_gfp_mask(struct address_space * mapping) { return mapping->gfp_mask;