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 A36AFC021B2 for ; Tue, 25 Feb 2025 20:25:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1FE9E280008; Tue, 25 Feb 2025 15:25:54 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 186C6280007; Tue, 25 Feb 2025 15:25:54 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 00005280008; Tue, 25 Feb 2025 15:25:53 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id D1D4B280007 for ; Tue, 25 Feb 2025 15:25:53 -0500 (EST) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 92A71A083F for ; Tue, 25 Feb 2025 20:25:53 +0000 (UTC) X-FDA: 83159598186.06.F97C1D1 Received: from mail-pl1-f172.google.com (mail-pl1-f172.google.com [209.85.214.172]) by imf21.hostedemail.com (Postfix) with ESMTP id 7EF631C0006 for ; Tue, 25 Feb 2025 20:25:51 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=fromorbit-com.20230601.gappssmtp.com header.s=20230601 header.b=qcs0qfiW; spf=pass (imf21.hostedemail.com: domain of david@fromorbit.com designates 209.85.214.172 as permitted sender) smtp.mailfrom=david@fromorbit.com; dmarc=pass (policy=quarantine) header.from=fromorbit.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740515151; 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=3sahSWpKtSWo1rgbQdN3cw9Z14mvbGZlYM9iW6N7nIM=; b=aSUTLkOdCB04iZBKukkcsgPUuDKV/WBlXMNA4VzvktxBhXx3iZmB7y1aCpd6L7CL6Zcbtd 67J2SO8GBRjkmKV5vyf9xzVX0LprFpCXLT9F2+FO1Oxr0li60olVm8nTm5dlCRImKGS35h nVnfWMWRkxzojcypSJgDE2pjJtBeIbE= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=fromorbit-com.20230601.gappssmtp.com header.s=20230601 header.b=qcs0qfiW; spf=pass (imf21.hostedemail.com: domain of david@fromorbit.com designates 209.85.214.172 as permitted sender) smtp.mailfrom=david@fromorbit.com; dmarc=pass (policy=quarantine) header.from=fromorbit.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740515151; a=rsa-sha256; cv=none; b=iOzJi3eDn4QZ0F7migjN8TsVq0RLSZfLDVYDdfoH86Um0zgQDnDyGQMBco0lm6DKiuga3K nOwxbSfVG/74yk9Dousmg5jXw9b58zsJ+XNyIU1Ih4SonxABQVi8yadRZW8/Vm4dTA9c4s rjwyOiJU1hh3rRS4AZGxUswgXQE/Yao= Received: by mail-pl1-f172.google.com with SMTP id d9443c01a7336-220bfdfb3f4so22493485ad.2 for ; Tue, 25 Feb 2025 12:25:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fromorbit-com.20230601.gappssmtp.com; s=20230601; t=1740515150; x=1741119950; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=3sahSWpKtSWo1rgbQdN3cw9Z14mvbGZlYM9iW6N7nIM=; b=qcs0qfiWqcDTSq5D81wZUghh/QgL+0aTmVUAsUxwf8E3kW6voSjoVj/60cIlSERZlT gJslgmYmPmAmYfi3pHPkrS+DF+Q12z3VaG1zg2wxkiGQuupIxLmzKgQFs8DZ9C6Xj+dD lRexlmKLUOEW56qOoa8qSELo1QJX1+s1Pt5K6Ix56Zqn80LBrkepxGPhK2ZfvUphZqQP tHtJE9YfBQJZTe+0Zcr0BlXL9tPmh9TlP7LF5p4qMWhu9fdGnOQnsb4bBxzbs82A/Cpd 8UJbcg9hsRCv6PVW+96OeSjiRjc0DD6b1UBYyjuWgRAVCSx7s9/djt2ojHTybyUHNj1/ Exlw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740515150; x=1741119950; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=3sahSWpKtSWo1rgbQdN3cw9Z14mvbGZlYM9iW6N7nIM=; b=bY4pJEqW2KUV6/YiKMsjLyJx+MDnJGMKaE+db2ecCO0hd7DMSencZjRe7vpbHKLcj5 uJ7nXXZl/suamwzrdw5LKvw9mClKKuns17mGbSE1Gsh6qg7z4YCDM0DsmkhsQI4z/l/T pfAhiWzpVaELav/YNivCDBzm8ft27SY5pHhj9+bzEicDiX35RfuK2H8RBkHmrbNRMol8 RPMDcP7ilrVKzyBIKfV7vucEPVuujocg/nx3azYPtWoxo/8TdjzV7cV/QoIWdXidzbs/ xZ/uNRavIHpjiuKTMH7KD/pgO+KpY8HAfCRDcJdx0oP2MOJesVtCFkRAy7Ka85BweoQG IHHA== X-Forwarded-Encrypted: i=1; AJvYcCXuZLlmTTaT26K9cK/4WguBeTQiYkU/eMvnM7ufCgi3LKWxUKGl2HbxWdGpBCMYJotpDKyZTIVLIA==@kvack.org X-Gm-Message-State: AOJu0YzeSPATjw283ahk/5WSqIV1jm2C7ebpqPL7XzWcHJY7m4fdnxeK UQEuZugHrQdY7Q4417J43pIAcg/XIS3TL93dsivjXNnoGxBLXp60g9f7dsTif3w= X-Gm-Gg: ASbGncuaGJw6ddY/bWU9GScc2pQw+xxHg8PZVL00myjpjVKVopDRMevZ0YB7JdIsIHk eY3yHfuJg9mWyeDK21GNzwhIEhmeb6eMI8Ug55y/PK9cTXf5xxo5NmWhy3JbTPdYSeitachFmDd zfXSZpKLBW0o0pLXrLCDRZ87jwzPELW3QjFHsZOSaC2nFAFDCHZdUxOAfp5wRNC3adjEDqk5Xxd dg58WOaZshpPVNZAFuNnqpV1xkRkZfP/33dgtiZ643WdDUR5BCB5FYNm3+N0DS9UDPta9Q+IdzV XJoS9IvOY5JQqFkZB4qDm12cvaPojIajjw+rB8dUlP1rxAzaMtPhMoiUQvUL/wWg6HRCjjl9esp Now== X-Google-Smtp-Source: AGHT+IFJUKeSO/+jJc8oE4V1Fy6IwtegHWAoWJKcW7vsL+7oK8iiuDIcLUyurk4FQbtZ6ud4ESh4Ow== X-Received: by 2002:a17:902:d4cf:b0:216:4853:4c0b with SMTP id d9443c01a7336-223201f7d84mr10594015ad.33.1740515150171; Tue, 25 Feb 2025 12:25:50 -0800 (PST) Received: from dread.disaster.area (pa49-186-89-135.pa.vic.optusnet.com.au. [49.186.89.135]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2230a000830sm18730065ad.30.2025.02.25.12.25.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Feb 2025 12:25:49 -0800 (PST) Received: from dave by dread.disaster.area with local (Exim 4.98) (envelope-from ) id 1tn1Uw-00000005ugE-3hi6; Wed, 26 Feb 2025 07:25:46 +1100 Date: Wed, 26 Feb 2025 07:25:46 +1100 From: Dave Chinner To: "Raphael S. Carvalho" Cc: linux-kernel@vger.kernel.org, linux-xfs@vger.kernel.org, linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, djwong@kernel.org, hch@lst.de, willy@infradead.org Subject: Re: [PATCH v3] mm: Fix error handling in __filemap_get_folio() with FGP_NOWAIT Message-ID: References: <20250224143700.23035-1-raphaelsc@scylladb.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250224143700.23035-1-raphaelsc@scylladb.com> X-Rspam-User: X-Stat-Signature: wikau6mud9pk6sgghzkk3r9direhzwz5 X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 7EF631C0006 X-HE-Tag: 1740515151-569334 X-HE-Meta: U2FsdGVkX1906Q+FAAF8lpKMGstvdtnK/AQ3qxrhQuOHA2px0tJaUo5uxYvyQxUeMQij7zJKuY6Lbk9xyXKD99NYlNm89G1i3y0p6K31SFpxjcYRJrTYu9zlzGD0B9MMip3ar3V/zULZhNaqHSdMIXuHzttu8zgFXk/PzWNhbJfkt3+ebvR5FwT0nlCfVCqfSjbK6gSRb7hm2KhvCPSeZ96kbDhbtdegUq0AAAJ7eUzZ+uuMdf9bAlJ3w/o81H2oYLAuZkCu3lbIDZkVgHc5AyetY6tyGvDXCeaHrisO24PBa5jBes5yLCXM/JNrQGis3si6sitsP5ldRR/a8xAMYzlrI03b1b3TSXt6EmjA4eE3YM7VbgKQQ47mLSednXOlvPFZyq3Yub84ILsxOzRz8ovutsvOaWE7r8AyGDkaiE6hyoImzOKGp6vGThdQFR13AkK3iv4cP0LHXDFwKshYF3LDEIHU6ol37NLJbef4SJhdlj/DwmIsx5AY2ia25k80uRPdpOI2oMys+tSAfO8jhQm1/RECdEnV4ZLmr6cLBH+9pyNMWsBMgnYy00yzVH06N5qDw7SCvbt9zytPE8pUHvpxh7XbxzU+DBFJE/vVHzjqwKZ0JKcG3ZcvesfpYbSDppRqdKwjeK3znHO67WPFZ9ToX6h8qtyaE9Y2MnhVEwLnWySz3UwPB8Vj5UkVEP77eCgmoKMwLrYMFxzNRfow3pnw5mvtzMhB3r/6RCrNh9x8CKYekJFzAXnfxeMm9MF/xr3+X2CjDJX1TaDALfDlreAYtqNIpR1IvLPysSNrauACOrcsPIzqRJ0zE04aS5IRfPaxMo2S38YcU5Z0dsg3uAeCutKBa37227SmaWOaGMBLBHVA1N28LiqBQKyOji8b0qB7JlohqYrdxY5e3AZ4Dj8c7kEzpluXxRrCRt3WxmsPYHgJuvCeNJ6LHbsuWMYs/8T+tdDhJOdjPKHEq7c OOOwNNRJ E0C3KWoXBen4DlatPb5PBfNdULU1AoDAZ4pCtyXP6cTCzBrqy9U3+NXZiecyAZchFZUj991D5qGonwx+OmC2R323HUD0wRpgaG/06SqpXuB/4ckJp1P1o0x6LWiX4LSACHwnx/kugQGzImJni/plNX17njHgucALFbBjb+WDNSe4lC5b4jcxI/FjRnjnSIgeEmS4BzAfFFGV7BGpMs9Vq5N9qXwZFF5x/li0elMCdU+l1qPoD6CPxoFe1/PkqBGG9PYfotMHLMaI3r5UxakjoHvI38qx7u+sTx6xddIQzhtcX/7ZLuWXmTx9Y1nb4A8iN/vygNrQbGAyxcMJR9N5UNUR/Yz2zqSRMFZh3AN1QPaQsIDBlDtgzzAMvHkP7FptrvHqsZIe8Ur4ojTATBXZti0rvOToYRPUbGlHLYV9kkU86wMFq8mQPIsP6p21GJ7mC2z1zz2g1Bzcopl5FqNsI9MzFgnX6HkDacAYC1N6SaCKqwBJIXjvORRm/+krMMiI3YpoZyGz/cp3Yu3u3OuHyl1EJ0Q== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, 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 Mon, Feb 24, 2025 at 11:37:00AM -0300, Raphael S. Carvalho wrote: > original report: > https://lore.kernel.org/all/CAKhLTr1UL3ePTpYjXOx2AJfNk8Ku2EdcEfu+CH1sf3Asr=B-Dw@mail.gmail.com/T/ > > When doing buffered writes with FGP_NOWAIT, under memory pressure, the system > returned ENOMEM despite there being plenty of available memory, to be reclaimed > from page cache. The user space used io_uring interface, which in turn submits > I/O with FGP_NOWAIT (the fast path). .... > > diff --git a/mm/filemap.c b/mm/filemap.c > index 804d7365680c..3e75dced0fd9 100644 > --- a/mm/filemap.c > +++ b/mm/filemap.c > @@ -1986,8 +1986,19 @@ struct folio *__filemap_get_folio(struct address_space *mapping, pgoff_t index, > > if (err == -EEXIST) > goto repeat; > - if (err) > + if (err) { > + /* > + * When NOWAIT I/O fails to allocate folios this could > + * be due to a nonblocking memory allocation and not > + * because the system actually is out of memory. > + * Return -EAGAIN so that there caller retries in a > + * blocking fashion instead of propagating -ENOMEM > + * to the application. > + */ > + if ((fgp_flags & FGP_NOWAIT) && err == -ENOMEM) > + err = -EAGAIN; > return ERR_PTR(err); > + } > /* > * filemap_add_folio locks the page, and for mmap > * we expect an unlocked page. Looks good to me. Reviewed-by: Dave Chinner -- Dave Chinner david@fromorbit.com