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 BDCE5C02183 for ; Fri, 17 Jan 2025 16:44:00 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 39332280003; Fri, 17 Jan 2025 11:44:00 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 3436A280002; Fri, 17 Jan 2025 11:44:00 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 232BE280003; Fri, 17 Jan 2025 11:44:00 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 03383280002 for ; Fri, 17 Jan 2025 11:43:59 -0500 (EST) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 8E521160703 for ; Fri, 17 Jan 2025 16:43:59 +0000 (UTC) X-FDA: 83017515798.22.12C659D Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91]) by imf05.hostedemail.com (Postfix) with ESMTP id 07F24100018 for ; Fri, 17 Jan 2025 16:43:57 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=Kyo2yhKf; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf05.hostedemail.com: domain of jaegeuk@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=jaegeuk@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1737132238; a=rsa-sha256; cv=none; b=lHYzyMI6xbp0EqcmIDYXhhntI8M3wgW9tMEBf3QnnmUR6TLBGgFMINUgGvXOQiweY87sOI wocdIUoMiWwi1vk8P42LegdWwIGfQOazrsOVSQuTu1YgR1X4oNXHiwZHta7fi8JXlXxSxb ctzHTCvgTUneZBx/5c/o0zjW7VjY4Qk= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=Kyo2yhKf; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf05.hostedemail.com: domain of jaegeuk@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=jaegeuk@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1737132238; 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:references:dkim-signature; bh=2+JIAiGL8Ec/jM7vHDkDiewXcF0xqWmqkST0LCnNpTo=; b=WPD/eocTcuRq/dl77aC71yqk/r4H5EsqutzFwoPLL9NYxqjbsirr5cQ5sVElcUwBxuFin0 BXck/LArOWMd/Nf4eXUHHuofI3U58Y3wKgCKZj20HhNlCl5IlCABMdaPZApxWwxnqfdbbs uU2DWpbcegNHooEZuHvd+DBCZihAji4= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id 47A07A4321D; Fri, 17 Jan 2025 16:42:09 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id BED05C4CEDD; Fri, 17 Jan 2025 16:43:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1737132236; bh=S02F2sVetY7kvvykNiDGJwlwNft/i3THYzyTiCi3N6I=; h=From:To:Cc:Subject:Date:From; b=Kyo2yhKf/2sXZJoY5Nj661rDPYbywRn6sgwZGlLRMqe3rITI93OISYLUUSG7M6PsU 5x3XybunpHjikgKJshxh+Ty4iR6XZBh/IKbNaRKO3PNeV6nOu/iOHmpcu4jzJ2Iyja /gJ65RiXJi4yx3AhyIAMsMBjfMvu4m57WYNK1mY20Hy+xYEqpryozF43Yx+mK6gWhl uxdVDBuf36B2jyButU/WodKR2jJ0o/WfdZCxpoi5GU2h618uJPG5Hfsbvr6QbnZTdJ mwjOBMLkuLFi/aTK2lWSLlv/KYta1psDhCJm6jcH/nPZKJ9Y0gtygFxX5C0u5FIGQU S53qI9Deohw0Q== From: Jaegeuk Kim To: linux-kernel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net Cc: Jaegeuk Kim , linux-mm@kvack.org, linux-fsdevel@vger.kernel.org Subject: [PATCH 0/2 v6] add ioctl/sysfs to donate file-backed pages Date: Fri, 17 Jan 2025 16:41:16 +0000 Message-ID: <20250117164350.2419840-1-jaegeuk@kernel.org> X-Mailer: git-send-email 2.48.0.rc2.279.g1de40edade-goog MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Queue-Id: 07F24100018 X-Rspamd-Server: rspam10 X-Stat-Signature: 367kmi8foufaun8h6q598xohbcrqudz1 X-HE-Tag: 1737132237-262365 X-HE-Meta: U2FsdGVkX1/N4alrJYYNdxtWjimvLKboPmHdvpL/eim5cueuU1VyyOFGwO8t2t8kr4FLgy9W3pAxcAijaSvWx1bQwqu5xHzEgY0SMvjNSc4C688tTreTuD1Ncukp6fGZqHlNO9n6Ut8q/nMQWrjQUld5nD4W01Z8TRay1jGoFpBvUuNQhDcX2ywhvb6jQsSsa1E+iX7DfzouJCJoQAy0WyuxkMkT3MsN67onVZfWupG/yZG4pFmEDYkqbXtT70vkHsXas/7f446+DQrCD3/cyrpLnbGGTzulGebirAyLtnA4laLGyiQVyD+V/sdJRmLhFTFbEK20DCac2+ncsn0G6rnrzz9ISxG1ajJc41Z6X4sHxWLfJ4TnwIRDmDYRaSuJRVaBTaInFMMtVKBdPtjOgRxWvDbR0hk3+rmgXaHTpJ06+0w2FZv74ZtyMB34negAapZsbCGzex13RVEyYlEaF53DySRNuEbiF/pIvOLM5K9iqTQe0OvhPDMW0EzaZlNZqibbyqPKb6wMWBjnNiGc5eLnoXJd1hDTIH/qPHUxtq/2MOD3HdpFpPuTYboBlvAcTnX2jbuoVKKM2RyczG+yi8/hTY0EGZnjrcTkoDFZzDwQCHmvKd2yPg0769I9ZXmNQqQNDYq5zqBq4HWqNjKT0C2Llc1SUQFXADwlc+VNkZL48SGBsAo8vVWJs35jYvmBnsieAuj45LnN2+sUsAYQuYSjWeS7bkFTHbMqU8gVSjlZfxWUuri1gW8U0yjVM7p9+sWZdFfmTuHoEbnnGQgqSdsjwamRy99ROoonocxNcr0Vq3AWJzRkd6LFv6lC7PFsaVuwf/lTB4q+GkhSSglXY3EAYaDvjA3rMiMMRS2vT/ikxUgV9pzafZX7WCJ71kXfzxOdFtp+Xk13ABLYDct6mMX0S2tIMVg5T0xDznO+vkPyeF2IpIRkzamE3qUmpZDwecoF4cqP5CMU1fTZKVJ 9rCvmcQd /6yeQ78hXLeoo2b12f9iSVGh6d3wuU6KywG1jyXuMF71+7W2/E5ScCWBr5YMqxVJfdCHUv6hnytzNHd0pCWXyOIe42rorx50A0/rJey8euKJybt1kLbLaPN6SKOVOWrSy4jFBLDhV/R950UtMbzIMnCpsztjQ26fT+sYO8i1Awj0/O7lbec9SauMFwGaUCOv7emMifhAX/8ScQrE= 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: If users clearly know which file-backed pages to reclaim in system view, they can use this ioctl() to register in advance and reclaim all at once later. To MM and others, I'd like to propose this API in F2FS only, since 1) the use-case is quite limited in Android at the moment. Once it's generall accepted with more use-cases, happy to propose a generic API such as fadvise. Please chime in, if there's any needs. 2) it's file-backed pages which requires to maintain the list of inode objects. I'm not sure this fits in MM tho, also happy to listen to any feedback. Jaegeuk Kim (2): f2fs: register inodes which is able to donate pages f2fs: add a sysfs entry to request donate file-backed pages Documentation/ABI/testing/sysfs-fs-f2fs | 7 +++ fs/f2fs/debug.c | 3 ++ fs/f2fs/f2fs.h | 14 +++++- fs/f2fs/file.c | 65 +++++++++++++++++++++++++ fs/f2fs/inode.c | 14 ++++++ fs/f2fs/shrinker.c | 27 ++++++++++ fs/f2fs/super.c | 1 + fs/f2fs/sysfs.c | 8 +++ include/uapi/linux/f2fs.h | 7 +++ 9 files changed, 145 insertions(+), 1 deletion(-) -- 2.48.0.rc2.279.g1de40edade-goog