* [PATCH 0/2 v6] add ioctl/sysfs to donate file-backed pages
@ 2025-01-17 16:41 Jaegeuk Kim
2025-01-17 18:05 ` Matthew Wilcox
0 siblings, 1 reply; 10+ messages in thread
From: Jaegeuk Kim @ 2025-01-17 16:41 UTC (permalink / raw)
To: linux-kernel, linux-f2fs-devel; +Cc: Jaegeuk Kim, linux-mm, linux-fsdevel
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
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/2 v6] add ioctl/sysfs to donate file-backed pages
2025-01-17 16:41 [PATCH 0/2 v6] add ioctl/sysfs to donate file-backed pages Jaegeuk Kim
@ 2025-01-17 18:05 ` Matthew Wilcox
2025-01-17 18:48 ` Jaegeuk Kim
0 siblings, 1 reply; 10+ messages in thread
From: Matthew Wilcox @ 2025-01-17 18:05 UTC (permalink / raw)
To: Jaegeuk Kim; +Cc: linux-kernel, linux-f2fs-devel, linux-mm, linux-fsdevel
On Fri, Jan 17, 2025 at 04:41:16PM +0000, Jaegeuk Kim wrote:
> 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.
You didn't cc the patches to linux-mm, so that's a bad start.
I don't understand how this is different from MADV_COLD. Please
explain.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/2 v6] add ioctl/sysfs to donate file-backed pages
2025-01-17 18:05 ` Matthew Wilcox
@ 2025-01-17 18:48 ` Jaegeuk Kim
2025-01-17 19:04 ` Matthew Wilcox
0 siblings, 1 reply; 10+ messages in thread
From: Jaegeuk Kim @ 2025-01-17 18:48 UTC (permalink / raw)
To: Matthew Wilcox; +Cc: linux-kernel, linux-f2fs-devel, linux-mm, linux-fsdevel
On 01/17, Matthew Wilcox wrote:
> On Fri, Jan 17, 2025 at 04:41:16PM +0000, Jaegeuk Kim wrote:
> > 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.
>
> You didn't cc the patches to linux-mm, so that's a bad start.
Because #1.
>
> I don't understand how this is different from MADV_COLD. Please
> explain.
MADV_COLD is a vma range, while this is a file range. So, it's more close to
fadvise(POSIX_FADV_DONTNEED) which tries to reclaim the file-backed pages
at the time when it's called. The idea is to keep the hints only, and try to
reclaim all later when admin expects system memory pressure soon.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/2 v6] add ioctl/sysfs to donate file-backed pages
2025-01-17 18:48 ` Jaegeuk Kim
@ 2025-01-17 19:04 ` Matthew Wilcox
2025-01-17 20:37 ` Jaegeuk Kim
0 siblings, 1 reply; 10+ messages in thread
From: Matthew Wilcox @ 2025-01-17 19:04 UTC (permalink / raw)
To: Jaegeuk Kim; +Cc: linux-kernel, linux-f2fs-devel, linux-mm, linux-fsdevel
On Fri, Jan 17, 2025 at 06:48:55PM +0000, Jaegeuk Kim wrote:
> > I don't understand how this is different from MADV_COLD. Please
> > explain.
>
> MADV_COLD is a vma range, while this is a file range. So, it's more close to
> fadvise(POSIX_FADV_DONTNEED) which tries to reclaim the file-backed pages
> at the time when it's called. The idea is to keep the hints only, and try to
> reclaim all later when admin expects system memory pressure soon.
So you're saying you want POSIX_FADV_COLD?
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/2 v6] add ioctl/sysfs to donate file-backed pages
2025-01-17 19:04 ` Matthew Wilcox
@ 2025-01-17 20:37 ` Jaegeuk Kim
2025-02-04 16:29 ` Jaegeuk Kim
0 siblings, 1 reply; 10+ messages in thread
From: Jaegeuk Kim @ 2025-01-17 20:37 UTC (permalink / raw)
To: Matthew Wilcox; +Cc: linux-kernel, linux-f2fs-devel, linux-mm, linux-fsdevel
On 01/17, Matthew Wilcox wrote:
> On Fri, Jan 17, 2025 at 06:48:55PM +0000, Jaegeuk Kim wrote:
> > > I don't understand how this is different from MADV_COLD. Please
> > > explain.
> >
> > MADV_COLD is a vma range, while this is a file range. So, it's more close to
> > fadvise(POSIX_FADV_DONTNEED) which tries to reclaim the file-backed pages
> > at the time when it's called. The idea is to keep the hints only, and try to
> > reclaim all later when admin expects system memory pressure soon.
>
> So you're saying you want POSIX_FADV_COLD?
Yeah, the intention looks similar like marking it cold and paging out later.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/2 v6] add ioctl/sysfs to donate file-backed pages
2025-01-17 20:37 ` Jaegeuk Kim
@ 2025-02-04 16:29 ` Jaegeuk Kim
2025-02-10 17:00 ` Jaegeuk Kim
0 siblings, 1 reply; 10+ messages in thread
From: Jaegeuk Kim @ 2025-02-04 16:29 UTC (permalink / raw)
To: Matthew Wilcox; +Cc: linux-kernel, linux-f2fs-devel, linux-mm, linux-fsdevel
On 01/17, Jaegeuk Kim wrote:
> On 01/17, Matthew Wilcox wrote:
> > On Fri, Jan 17, 2025 at 06:48:55PM +0000, Jaegeuk Kim wrote:
> > > > I don't understand how this is different from MADV_COLD. Please
> > > > explain.
> > >
> > > MADV_COLD is a vma range, while this is a file range. So, it's more close to
> > > fadvise(POSIX_FADV_DONTNEED) which tries to reclaim the file-backed pages
> > > at the time when it's called. The idea is to keep the hints only, and try to
> > > reclaim all later when admin expects system memory pressure soon.
> >
> > So you're saying you want POSIX_FADV_COLD?
>
> Yeah, the intention looks similar like marking it cold and paging out later.
Kindly ping, for the feedback on the direction. If there's demand for something
generalized api, I'm happy to explore.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/2 v6] add ioctl/sysfs to donate file-backed pages
2025-02-04 16:29 ` Jaegeuk Kim
@ 2025-02-10 17:00 ` Jaegeuk Kim
2025-02-10 17:20 ` Matthew Wilcox
0 siblings, 1 reply; 10+ messages in thread
From: Jaegeuk Kim @ 2025-02-10 17:00 UTC (permalink / raw)
To: Matthew Wilcox; +Cc: linux-kernel, linux-f2fs-devel, linux-mm, linux-fsdevel
On 02/04, Jaegeuk Kim wrote:
> On 01/17, Jaegeuk Kim wrote:
> > On 01/17, Matthew Wilcox wrote:
> > > On Fri, Jan 17, 2025 at 06:48:55PM +0000, Jaegeuk Kim wrote:
> > > > > I don't understand how this is different from MADV_COLD. Please
> > > > > explain.
> > > >
> > > > MADV_COLD is a vma range, while this is a file range. So, it's more close to
> > > > fadvise(POSIX_FADV_DONTNEED) which tries to reclaim the file-backed pages
> > > > at the time when it's called. The idea is to keep the hints only, and try to
> > > > reclaim all later when admin expects system memory pressure soon.
> > >
> > > So you're saying you want POSIX_FADV_COLD?
> >
> > Yeah, the intention looks similar like marking it cold and paging out later.
>
> Kindly ping, for the feedback on the direction. If there's demand for something
> generalized api, I'm happy to explore.
If there's no objection, let me push the change in f2fs and keep an eye on
who more will need this in general.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/2 v6] add ioctl/sysfs to donate file-backed pages
2025-02-10 17:00 ` Jaegeuk Kim
@ 2025-02-10 17:20 ` Matthew Wilcox
2025-02-10 19:01 ` Jaegeuk Kim
0 siblings, 1 reply; 10+ messages in thread
From: Matthew Wilcox @ 2025-02-10 17:20 UTC (permalink / raw)
To: Jaegeuk Kim; +Cc: linux-kernel, linux-f2fs-devel, linux-mm, linux-fsdevel
On Mon, Feb 10, 2025 at 05:00:47PM +0000, Jaegeuk Kim wrote:
> On 02/04, Jaegeuk Kim wrote:
> > On 01/17, Jaegeuk Kim wrote:
> > > On 01/17, Matthew Wilcox wrote:
> > > > On Fri, Jan 17, 2025 at 06:48:55PM +0000, Jaegeuk Kim wrote:
> > > > > > I don't understand how this is different from MADV_COLD. Please
> > > > > > explain.
> > > > >
> > > > > MADV_COLD is a vma range, while this is a file range. So, it's more close to
> > > > > fadvise(POSIX_FADV_DONTNEED) which tries to reclaim the file-backed pages
> > > > > at the time when it's called. The idea is to keep the hints only, and try to
> > > > > reclaim all later when admin expects system memory pressure soon.
> > > >
> > > > So you're saying you want POSIX_FADV_COLD?
> > >
> > > Yeah, the intention looks similar like marking it cold and paging out later.
> >
> > Kindly ping, for the feedback on the direction. If there's demand for something
> > generalized api, I'm happy to explore.
>
> If there's no objection, let me push the change in f2fs and keep an eye on
> who more will need this in general.
I don't know why you're asking for direction. I gave my direction: use
fadvise().
Putting this directly in f2fs is a horrible idea. NAK.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/2 v6] add ioctl/sysfs to donate file-backed pages
2025-02-10 17:20 ` Matthew Wilcox
@ 2025-02-10 19:01 ` Jaegeuk Kim
2025-02-12 0:39 ` Jaegeuk Kim
0 siblings, 1 reply; 10+ messages in thread
From: Jaegeuk Kim @ 2025-02-10 19:01 UTC (permalink / raw)
To: Matthew Wilcox; +Cc: linux-kernel, linux-f2fs-devel, linux-mm, linux-fsdevel
On 02/10, Matthew Wilcox wrote:
> On Mon, Feb 10, 2025 at 05:00:47PM +0000, Jaegeuk Kim wrote:
> > On 02/04, Jaegeuk Kim wrote:
> > > On 01/17, Jaegeuk Kim wrote:
> > > > On 01/17, Matthew Wilcox wrote:
> > > > > On Fri, Jan 17, 2025 at 06:48:55PM +0000, Jaegeuk Kim wrote:
> > > > > > > I don't understand how this is different from MADV_COLD. Please
> > > > > > > explain.
> > > > > >
> > > > > > MADV_COLD is a vma range, while this is a file range. So, it's more close to
> > > > > > fadvise(POSIX_FADV_DONTNEED) which tries to reclaim the file-backed pages
> > > > > > at the time when it's called. The idea is to keep the hints only, and try to
> > > > > > reclaim all later when admin expects system memory pressure soon.
> > > > >
> > > > > So you're saying you want POSIX_FADV_COLD?
> > > >
> > > > Yeah, the intention looks similar like marking it cold and paging out later.
> > >
> > > Kindly ping, for the feedback on the direction. If there's demand for something
> > > generalized api, I'm happy to explore.
> >
> > If there's no objection, let me push the change in f2fs and keep an eye on
> > who more will need this in general.
>
> I don't know why you're asking for direction. I gave my direction: use
> fadvise().
Funny, that single question didn't mean like this at all. Will take a look
how the patch looks like.
>
> Putting this directly in f2fs is a horrible idea. NAK.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/2 v6] add ioctl/sysfs to donate file-backed pages
2025-02-10 19:01 ` Jaegeuk Kim
@ 2025-02-12 0:39 ` Jaegeuk Kim
0 siblings, 0 replies; 10+ messages in thread
From: Jaegeuk Kim @ 2025-02-12 0:39 UTC (permalink / raw)
To: Matthew Wilcox; +Cc: linux-kernel, linux-f2fs-devel, linux-mm, linux-fsdevel
On 02/10, Jaegeuk Kim wrote:
> On 02/10, Matthew Wilcox wrote:
> > On Mon, Feb 10, 2025 at 05:00:47PM +0000, Jaegeuk Kim wrote:
> > > On 02/04, Jaegeuk Kim wrote:
> > > > On 01/17, Jaegeuk Kim wrote:
> > > > > On 01/17, Matthew Wilcox wrote:
> > > > > > On Fri, Jan 17, 2025 at 06:48:55PM +0000, Jaegeuk Kim wrote:
> > > > > > > > I don't understand how this is different from MADV_COLD. Please
> > > > > > > > explain.
> > > > > > >
> > > > > > > MADV_COLD is a vma range, while this is a file range. So, it's more close to
> > > > > > > fadvise(POSIX_FADV_DONTNEED) which tries to reclaim the file-backed pages
> > > > > > > at the time when it's called. The idea is to keep the hints only, and try to
> > > > > > > reclaim all later when admin expects system memory pressure soon.
> > > > > >
> > > > > > So you're saying you want POSIX_FADV_COLD?
> > > > >
> > > > > Yeah, the intention looks similar like marking it cold and paging out later.
> > > >
> > > > Kindly ping, for the feedback on the direction. If there's demand for something
> > > > generalized api, I'm happy to explore.
> > >
> > > If there's no objection, let me push the change in f2fs and keep an eye on
> > > who more will need this in general.
> >
> > I don't know why you're asking for direction. I gave my direction: use
> > fadvise().
>
> Funny, that single question didn't mean like this at all. Will take a look
> how the patch looks like.
Ok, it seems we can get this hint via POSIX_FADV_NOREUSE. I'll take that
instead of adding a new API. Thanks.
>
> >
> > Putting this directly in f2fs is a horrible idea. NAK.
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2025-02-12 0:39 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-01-17 16:41 [PATCH 0/2 v6] add ioctl/sysfs to donate file-backed pages Jaegeuk Kim
2025-01-17 18:05 ` Matthew Wilcox
2025-01-17 18:48 ` Jaegeuk Kim
2025-01-17 19:04 ` Matthew Wilcox
2025-01-17 20:37 ` Jaegeuk Kim
2025-02-04 16:29 ` Jaegeuk Kim
2025-02-10 17:00 ` Jaegeuk Kim
2025-02-10 17:20 ` Matthew Wilcox
2025-02-10 19:01 ` Jaegeuk Kim
2025-02-12 0:39 ` Jaegeuk Kim
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox