From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5C5501AF4EA for ; Wed, 22 Jan 2025 21:13:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737580414; cv=none; b=uwJG32p8A2TZWkWDv106yKtY9yx741ffrpfm5SGkaBU6F2uFeD2BvwnBYWtbwdLf712pwNk8XePv3UY61NgMgrQ8zbOP0GndfNi1snqw0SBXMbDdzW1PDNq3PI7Ih/B+SC5bmvCbNyRoXjoEI9upIlyOB6CMQ0Xv/1M3Ndv0e3I= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737580414; c=relaxed/simple; bh=0IIibQ4WJD2rYcyoeUOj6S1TdAkiS8xdmqohf0Ol47E=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=UVvJV8Xa8VviLOxoPMPqezaPoj8ONtQWhAdA1d6gf609R6mzIrbnqlif3g225igQbbTl5MoPsgA2Iw6XJN7ywBCezBe0/6fms40EpqWUNfEbUXDK2UN0wMWLWXOawAZhRXK/qTCM7eVZJ9uCqCIG2wzUvKurhO7MbadYTaOFQ5o= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=CuPcm98I; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="CuPcm98I" Received: by smtp.kernel.org (Postfix) with ESMTPSA id B2606C4CED2; Wed, 22 Jan 2025 21:13:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1737580413; bh=0IIibQ4WJD2rYcyoeUOj6S1TdAkiS8xdmqohf0Ol47E=; h=From:To:Cc:Subject:Date:From; b=CuPcm98IhmUQVEBCNSGT+ybIplellHYPogvAw8+YoZWPrUXaQHDSsAJVobVlrFp/r ct7vX+q16X31YF6cPz81hFyqMHCdw5z+Qb5uVM8xxLvNjElEG38UmWoTNP7YjfPXRA VdEDFxrWPa3tVPfcQkHasIQM7XzIv6BW3/qgDkwnMinopZ6zOvlMY3fsbLQfn17b5M I46Kd3GSn+2d7hQmp0Y9NpL40Qwwzh9g0ti2Q1NKOY8VnaiqMVH0IvOfkFqCoIrFQQ r1z4v2BlsZ986baD2qx5owKuj4k83SOHrAf9oLkePYKa3KbtbZBdWaeGjzv9bAJQBH Fg7FJPLNpdn/w== From: Jaegeuk Kim To: linux-kernel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net Cc: Jaegeuk Kim Subject: [PATCH 0/2 v7] add ioctl/sysfs to donate file-backed pages Date: Wed, 22 Jan 2025 21:10:15 +0000 Message-ID: <20250122211323.3835557-1-jaegeuk@kernel.org> X-Mailer: git-send-email 2.48.1.262.g85cc9f2d1e-goog Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Note, let me keep improving this patch set, while trying to get some feedbacks from MM and API folks from [1]. 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. 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. [1] https://lore.kernel.org/lkml/Z4qmF2n2pzuHqad_@google.com/ Change log from v6: - change sysfs entry name to reclaim_caches_kb 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 | 33 +++++++++++++ fs/f2fs/super.c | 1 + fs/f2fs/sysfs.c | 8 +++ include/uapi/linux/f2fs.h | 7 +++ 9 files changed, 151 insertions(+), 1 deletion(-) -- 2.48.1.262.g85cc9f2d1e-goog