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 2C07DE77184 for ; Thu, 19 Dec 2024 15:53:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A2DA76B008C; Thu, 19 Dec 2024 10:53:39 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 98FE16B0092; Thu, 19 Dec 2024 10:53:39 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 80A306B0093; Thu, 19 Dec 2024 10:53:39 -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 5DFF96B008C for ; Thu, 19 Dec 2024 10:53:39 -0500 (EST) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id DA4AA141657 for ; Thu, 19 Dec 2024 15:53:38 +0000 (UTC) X-FDA: 82912152918.15.7D91AA1 Received: from out-183.mta0.migadu.com (out-183.mta0.migadu.com [91.218.175.183]) by imf23.hostedemail.com (Postfix) with ESMTP id E3048140004 for ; Thu, 19 Dec 2024 15:53:14 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=r5DsTL4R; spf=pass (imf23.hostedemail.com: domain of shakeel.butt@linux.dev designates 91.218.175.183 as permitted sender) smtp.mailfrom=shakeel.butt@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1734623602; 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=jUrTALyDMosSQawOyyEcDtOQ4McP3/ZOWztGbgGdaEk=; b=pz15QcQxY5s/7kCYI8iw8UfLyRTBkxydWj8W78GgOPxM7W3REcfTxZ2NSCDQ/F1K6LF8UR Yr9E3H4xBcymmFT/TpBSlCG5N1Ra3a4SLE2hZ1Icp+9A9Q++0d9makaGlAd+vrevq3KwfD culERqNuIvxvm/RrQ/hgQAgab0DmS3w= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=r5DsTL4R; spf=pass (imf23.hostedemail.com: domain of shakeel.butt@linux.dev designates 91.218.175.183 as permitted sender) smtp.mailfrom=shakeel.butt@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1734623602; a=rsa-sha256; cv=none; b=AOGy6bx3vCKRMzVEx3jlkYdREIRjaagZKRArCl/noBOQ0UPuq+k5LtCKV1041HMYfaWjcF T+CffIXrwRyTfpsRQCcp+gSaOb3iKxKfA+BK6/GvI4TNupaGFJsVnOCSuH0mhPV1qdeghc h1u9eb0mR6S/UExP9dzBmxQHStkcavM= Date: Thu, 19 Dec 2024 07:53:29 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1734623614; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=jUrTALyDMosSQawOyyEcDtOQ4McP3/ZOWztGbgGdaEk=; b=r5DsTL4RcT3fIC67itZwxyU1TRfYpWq9hzYYy9KFaTOgEPQPL1QTF16quDo311/n6jt6xS zFxe/+ML/gx0PAdca5O4ETwFJMJn1Htjk4jJbuM8KC3XCOUVItEh839KcxA5TpOQXpPGz2 TX7ThvmeKq4g5cr8NvXt/TeO6++nA3Y= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Shakeel Butt To: David Hildenbrand Cc: Joanne Koong , miklos@szeredi.hu, linux-fsdevel@vger.kernel.org, jefflexu@linux.alibaba.com, josef@toxicpanda.com, bernd.schubert@fastmail.fm, linux-mm@kvack.org, kernel-team@meta.com, Matthew Wilcox , Zi Yan , Oscar Salvador , Michal Hocko Subject: Re: [PATCH v6 4/5] mm/migrate: skip migrating folios under writeback with AS_WRITEBACK_INDETERMINATE mappings Message-ID: References: <20241122232359.429647-1-joannelkoong@gmail.com> <20241122232359.429647-5-joannelkoong@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Migadu-Flow: FLOW_OUT X-Rspamd-Queue-Id: E3048140004 X-Stat-Signature: 68d3stexbp41mwyppuru9s39ezzxasi3 X-Rspam-User: X-Rspamd-Server: rspam11 X-HE-Tag: 1734623594-572037 X-HE-Meta: U2FsdGVkX1/7MyCcY/OMpXMoIbb5alB10RFHYQPupoLt6xlo9oo1X91LuM7kpU7P31zSuyYgkKP38d4OwY/K9MaMUOABunyMVLCocaDabFn3n9uh8anbxhqsUuvvgiqwOU8b12Pn+mwTWHmBYR6VamaOOd6h4qOGtd9ptNm1ohrWpHkMIc9QMcT40eBRYQllI06DLm1irqeHKOYXBpXwvx5RStMUURaO9lN2qsvKQGZhcGwIYbUxwSANWNO8UabDTZpXURIxrD30FucrpohdPpnpy/EMmj9eCrZsZjiQNYN8A0zK78doMdYbGD3TFGlZxf4Y+QQvuCfRXMc0UUD+oFUJR+iDYa17Pg/6GJAWW3u/ARxQE7B56+pvml0DTy16FGHq0A4oAIT/VeII2dmFtQnFUfjwa7woertmyvfsOQKcBJpBtweirSSMVj49Xm9Ar0kN1XzGilJNhcLToE6KktamWMI+2ZbGIKv6lX3fim66y0UYtZvprFHKreQHHvZo8bSi45sNpQxcSmfxFNU+Ult63H3iZB+sVeFgdSwhdzIusF3wZQCGQjW9ocMxSM/xROeEjE+DmZjQ4U6pUaLBMtI3548x4nMOiUkcjLke8E1JYUi6/LIBk9PwtiVBMdUoV9Au+jrRfFXsm4PbZC7catY4yvou/mIFtk/mU2pDOMczpgNtEDLIm9FhN1lFWusfoW3tffNus6MSM6YujJa45v6T1tutzuE/SrmCMtt7m9pwLZdBUxumFZEbroJVzXb4YPIU4XlZ1xtGbW6t7vtljRBhvYwk+DFm57u5ZjJNDSDFXpdTDb7BQdOxglyiOpC6NoM5LAF5k1Xutr3hzTaUrdAECe0UZHdUHjBk1VspeDH04PMavViFFn2KofXAsPTZucAtheB7rv3N7lKs1Gl0772jJchXpLwGhUfq/9niSKOtsa+N+W+IZENANFu2GKISjyDSKFcxDVAIrh0SoFu SGNTiVD6 DKMNB/TlE6SMMQghvkxAhbN+1Cr4XTPIPCceCElqZcyUDc+2IYrotNmaVfWXoKkTFUleWw/G/Ctub7pomcV063dgE/hT/l9+99FcTpZ8Vs+OCmzVOAs6/+Huj0USIbqUfU1Lq/W3pe/8xpXKU85hkrnY23KKl1Bj6RbfpaBO2Z0ylmpi5Wmj4ww6GWB5R62Zi7yG9s07z8tk5beIgAXIpzq8b7THxk6QiTFN1 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 Thu, Dec 19, 2024 at 04:47:18PM +0100, David Hildenbrand wrote: > On 19.12.24 16:43, Shakeel Butt wrote: > > On Thu, Dec 19, 2024 at 02:05:04PM +0100, David Hildenbrand wrote: > > > On 23.11.24 00:23, Joanne Koong wrote: > > > > For migrations called in MIGRATE_SYNC mode, skip migrating the folio if > > > > it is under writeback and has the AS_WRITEBACK_INDETERMINATE flag set on its > > > > mapping. If the AS_WRITEBACK_INDETERMINATE flag is set on the mapping, the > > > > writeback may take an indeterminate amount of time to complete, and > > > > waits may get stuck. > > > > > > > > Signed-off-by: Joanne Koong > > > > Reviewed-by: Shakeel Butt > > > > --- > > > > mm/migrate.c | 5 ++++- > > > > 1 file changed, 4 insertions(+), 1 deletion(-) > > > > > > > > diff --git a/mm/migrate.c b/mm/migrate.c > > > > index df91248755e4..fe73284e5246 100644 > > > > --- a/mm/migrate.c > > > > +++ b/mm/migrate.c > > > > @@ -1260,7 +1260,10 @@ static int migrate_folio_unmap(new_folio_t get_new_folio, > > > > */ > > > > switch (mode) { > > > > case MIGRATE_SYNC: > > > > - break; > > > > + if (!src->mapping || > > > > + !mapping_writeback_indeterminate(src->mapping)) > > > > + break; > > > > + fallthrough; > > > > default: > > > > rc = -EBUSY; > > > > goto out; > > > > > > Ehm, doesn't this mean that any fuse user can essentially completely block > > > CMA allocations, memory compaction, memory hotunplug, memory poisoning... ?! > > > > > > That sounds very bad. > > > > The page under writeback are already unmovable while they are under > > writeback. This patch is only making potentially unrelated tasks to > > synchronously wait on writeback completion for such pages which in worst > > case can be indefinite. This actually is solving an isolation issue on a > > multi-tenant machine. > > > Are you sure, because I read in the cover letter: > > "In the current FUSE writeback design (see commit 3be5a52b30aa ("fuse: > support writable mmap"))), a temp page is allocated for every dirty > page to be written back, the contents of the dirty page are copied over to > the temp page, and the temp page gets handed to the server to write back. > This is done so that writeback may be immediately cleared on the dirty > page," > > Which to me means that they are immediately movable again? Oh sorry, my mistake, yes this will become an isolation issue with the removal of the temp page in-between which this series is doing. I think the tradeoff is between extra memory plus slow write performance versus temporary unmovable memory. > > -- > Cheers, > > David / dhildenb > >