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 176C1C48286 for ; Sun, 4 Feb 2024 23:45:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 99C066B0078; Sun, 4 Feb 2024 18:45:47 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 94C506B007B; Sun, 4 Feb 2024 18:45:47 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8139B6B007D; Sun, 4 Feb 2024 18:45:47 -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 705EC6B0078 for ; Sun, 4 Feb 2024 18:45:47 -0500 (EST) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 169BE1A0500 for ; Sun, 4 Feb 2024 23:45:47 +0000 (UTC) X-FDA: 81755756334.28.B6BE2D0 Received: from mail-pl1-f179.google.com (mail-pl1-f179.google.com [209.85.214.179]) by imf30.hostedemail.com (Postfix) with ESMTP id 2E72580002 for ; Sun, 4 Feb 2024 23:45:44 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=fromorbit-com.20230601.gappssmtp.com header.s=20230601 header.b=PP0Gm7UV; dmarc=pass (policy=quarantine) header.from=fromorbit.com; spf=pass (imf30.hostedemail.com: domain of david@fromorbit.com designates 209.85.214.179 as permitted sender) smtp.mailfrom=david@fromorbit.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1707090345; 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=pvV2EpIUxaX7NT7kLqul2ISaFb45XQHzr81IwPkRSMw=; b=rxQ6VgBBYa+5cna3l8sZ8tUnQrrp+HrPXWZN23pLerkWnOmQx788MOkkS6Ke/axJdLzaAM KlhTV5vHuNDDRRoSu6mRY2krDbo9+KRqR0XH+Oa7BpCBTQ4vh64ML67Na4LqEiqVBBc0t8 q6CQtoy8gJzwvG9QHAIcL+Kvv7rXTUU= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=fromorbit-com.20230601.gappssmtp.com header.s=20230601 header.b=PP0Gm7UV; dmarc=pass (policy=quarantine) header.from=fromorbit.com; spf=pass (imf30.hostedemail.com: domain of david@fromorbit.com designates 209.85.214.179 as permitted sender) smtp.mailfrom=david@fromorbit.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1707090345; a=rsa-sha256; cv=none; b=Di7pjWw+SmRIb6Z12JO4UtLK0SgqPu1wlUnXXhmaaLy+v6t/B8J36E8s22hQAn+M74Y00Q 9TwSkkX2FNWjC1sSAU5btDOYWtGhNE/QgtFHZXe2uW6HO0MxZUfvTxcXn9qnIf4ay9T4Bp ZeRoKsVdfDgqXR2zDJ9hgdI+EcDuoNQ= Received: by mail-pl1-f179.google.com with SMTP id d9443c01a7336-1d99c5f6bfeso4732875ad.1 for ; Sun, 04 Feb 2024 15:45:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fromorbit-com.20230601.gappssmtp.com; s=20230601; t=1707090344; x=1707695144; 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=pvV2EpIUxaX7NT7kLqul2ISaFb45XQHzr81IwPkRSMw=; b=PP0Gm7UV6ema/wAGC2JduVJp3SDmZ8CK9AxQV2LGQWIZ10tSCAAqqxqt9kkk3sa58A aUnwPtgLiKfbbp+gc8kuhjhJR7JdoA9Ks4CJbn9IinJB6xityOIRZR3ApAzln2FFtY0S n2GhrWwmrX9RoXxlYUwU94t/QotxlUNkbcqy89ZDXc1ht8bzQW4QpFaJUgnpTpF+AamW vXoavVZwxiswdVQu4C1sZJTD0hLRjE6+5AyslurTtYLmIyhosILHlaeuYvqQu192ycCW ZVMVmdGXnjwk9Z9CeYuD4vIk/gmBIa+iWmmIjgnpPuGSvo4sUy/n8P169DCNl6aqwxht ip/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1707090344; x=1707695144; 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=pvV2EpIUxaX7NT7kLqul2ISaFb45XQHzr81IwPkRSMw=; b=qQDXK+65ph51ZljlK4YRZoSmL1qxFrB5/Y7WmYPwF/bYibKNEyFgmJdGRfzMWDzXGQ 7FUk5Ha/nE8R+tFyK/+6xNSt/GDqEYL3dfbg9zOZoMxSXc8ERoDa+kV+oBdIYLSZKNtY LMRiSLhDyKpIucKu+WmaW7lqV3DW1L/WrrBccuppYhbw+Nbd8FU+B6NwC2YpiTO0sJe7 dM2SNvKGXDBtyxW8foxILpSKU2F51ydZNssN33KNcj/QCcMok1j8YVN8ftZDt6nyegFZ XSd0nMlR1akZmPCGx+EYIFFmFDKVAzM3tKYlPEPoehyz/3q+zrS07yPrb/8hw4gOX8/k LkXQ== X-Gm-Message-State: AOJu0YyeVGBpJ3R9svG5HyNP/5kDnlPYZ6pgevlT5hakgULSJh75MhtZ yNE87181dKmuUyzSy46XD80QOb/tAZKtEym66bkB9xuzAYxrruGTUXaNrJnHpps= X-Google-Smtp-Source: AGHT+IEgPuKAB4wPTf1zcjRLNfL97sIjLpYWWHuGJD3cM/33XdDSLK6OD/xjovQ9r+CU32P944mdSg== X-Received: by 2002:a17:902:d4c7:b0:1d6:f17b:ecfc with SMTP id o7-20020a170902d4c700b001d6f17becfcmr6355888plg.15.1707090343975; Sun, 04 Feb 2024 15:45:43 -0800 (PST) X-Forwarded-Encrypted: i=0; AJvYcCXv058kBTv74LvoPUADWwMn0wYajYRcRQIS/3H9ZLZO04+7JLzQ1H5IKF3thDY/LNJRyBHFuDK9eghvhVB/JQn/O5o0GAkm1izdGtDbIEAeMRcSwV743SoZ9QZFfxmau5rLX+ptSG+6elg8wqlCKClvSnyoCQKhI7E6twx23283M/jFfQwcWNWpOqFGQlI= Received: from dread.disaster.area (pa49-181-38-249.pa.nsw.optusnet.com.au. [49.181.38.249]) by smtp.gmail.com with ESMTPSA id w18-20020a170902d11200b001d8ee19ab34sm5084689plw.29.2024.02.04.15.45.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 04 Feb 2024 15:45:43 -0800 (PST) Received: from dave by dread.disaster.area with local (Exim 4.96) (envelope-from ) id 1rWmBA-0029Bi-0S; Mon, 05 Feb 2024 10:45:40 +1100 Date: Mon, 5 Feb 2024 10:45:40 +1100 From: Dave Chinner To: David Howells Cc: lsf-pc@lists.linux-foundation.org, Matthew Wilcox , netfs@lists.linux.dev, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [LSF/MM/BPF TOPIC] Large folios, swap and fscache Message-ID: References: <2701740.1706864989@warthog.procyon.org.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <2701740.1706864989@warthog.procyon.org.uk> X-Rspam-User: X-Stat-Signature: nzzgb3w87nwo1q8ms9emasjwnmtuychy X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 2E72580002 X-HE-Tag: 1707090344-347668 X-HE-Meta: U2FsdGVkX19LMA8DQS2qfmf1lA0i641TpCd0sX8MuC2uLixJO/DN0TDEmLR1b6E48o1OQJwYZSiafFZLbU/Gq4uFXLkmZrGSR31GIDaGiB4J3TJMb9KzR+L1xhvWa0IawLxhNzU+bnWs2yXFf9BJ4rHXDHc2ztw34o+C86JJIEFHRMVRFCgI/B1FmrxgjZleYHURhJM8zFtIkdqhDUU3fp2F5dKDjGyy9DJUdRbwDO7ySzv8thWTdXc3VzcywYBUTXsj7meDypS3Qn4XGxm59KcR2yeLsqHJm8NLOlX/BxMA/DJ5oUJSCoJ6s0nGFX7IP6FopNIq08MxB9sCTM5ZxmcsJn9wRggi53EIN44ArHod9vsnSZg5vDD1rrfateNgOnu1uQmcLVHbjDDFgDtJUT9FDPzBQnqeT5Kf+/ncMiphtdeKkFeEGnj2D2Fy3tbHgAQcMmDknaoSdF4/bDL5SCqfp9ty7OzcxuGzo8cxVzy+ZCbvGW9crpgrLjSVB4RESKmCcFNOB13ZljLegPWxCmXzwQiyFMBmL8BfWD4x36sDPvpqB36shR4L2YqYeOPKO/E2aBGzam9jk7e1Cm2BHBirsVcZ5Tf3jVCAy/T0usWjFOI4SgOgVhRDUZqBJYRgz5IQc8PmISAlOL09D3zA7e8OKc0ntPOz7lyHRq9jIAblgeaQ7+3iwE0AVKlBusrt1dRTV2W1dcLfhgfr8+xd0UJ3dxyhgU7n6EtDsEdCod3joid7gLAYdBADweZIUfWFNla49n9l/HIwB7h6AywVIT1cZXvm0t1ef6vax0UDgFBtL88oIH5RckizSTWRp413VOwrmpxK87f6iUbt+TKyMlFPXZFLLBaeU0dR5S8XsHrZmS3aUYP/FdcpJzDsgFhGeRZS8QqkW+DPYMvmr8zUCrScYOJ9O1B0epqXE3KtB2xUKevU0qFnGZGqAYaud1h0SGF1aP8k4E6WXYfuPIb XycbHs5o zNkdLC0vt22LAx3XVNEp4JIcR1AX9lT9p180UMAjSNruHqj9NHTprMAxq5EsTFzjmdMsj+ZTZSmDCJvK8daRFQ/VsBHloUdOl0Gzv/8EQgDVGONy3UAXYJxgzJ//BdOWFwr3MOMlHmaFd+9h9htfHDM25ce7tS4k5XsLvNGgDV6u5yzMNS+w3siNbg5Q5HTLbjAks7SB2foH+HvaCkxvYtApvIbZu0Z4QoAX8nshJFD3+OAcFz+RIPCZrUpuTbHHrnEZNOBAJ3/egAIwbSPzN2e9lbc949BoyMzmFQPh4Vr++iKdyw+UuPE15YfxC86gkmh6QPm6P19SMZ9q9m92ZdkQCmnyyL9fytvRQojve1S7mtogtlLkYYWSd+p+ySF7G8OF5sFHYdIHQiWXZsTOIz9oi/LIeZJWbFIptuIPKeP9TmTiprKfQquDH7SbyEYYcS+Jn X-Bogosity: Ham, tests=bogofilter, spamicity=0.000421, 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, Feb 02, 2024 at 09:09:49AM +0000, David Howells wrote: > Hi, > > The topic came up in a recent discussion about how to deal with large folios > when it comes to swap as a swap device is normally considered a simple array > of PAGE_SIZE-sized elements that can be indexed by a single integer. > > With the advent of large folios, however, we might need to change this in > order to be better able to swap out a compound page efficiently. Swap > fragmentation raises its head, as does the need to potentially save multiple > indices per folio. Does swap need to grow more filesystem features? The "file-based swap" infrastructure needs to be converted to use filesystem direct IO methods. It should not cache the extent list and do raw direct-to-device IO itself, it should just build an iov that points to the pages and submit that to the filesystem DIO read/write path to do the mapping and submission to disk. If we tell the dio subsystem that it is IOCB_SWAP IO, then we can do things like ignore unwritten bits in the extent mappings so we don't have to do transactions to avoid unwritten conversion on write or do timestamp updates on the inode... -Dave. -- Dave Chinner david@fromorbit.com