Re: [PATCH v2 1/1] mm/madvise: add MADV_F_COLLAPSE_LIGHT to process_madvise()

From: Michal Hocko
Date: Mon Jan 22 2024 - 08:51:06 EST


On Sat 20-01-24 10:09:32, Lance Yang wrote:
[...]
> Hey Michal,
>
> Thanks for your suggestion!
>
> It seems that the implementation should try but not too hard aligns well
> with my desired behavior.

The problem I have with this semantic is that it is really hard to
define and then stick with. Our implementation might change over time
and what somebody considers good ATM might turn int "trying harder than
I wanted" later on.

> Non-blocking in general is also a great idea.
> Perhaps in the future, we can add a MADV_F_COLLAPSE_NOBLOCK
> flag for scenarios where latency is extremely critical.

Non blocking semantic is much easier to define and maintain. The actual
allocation/compaction implementation might change as well over time but
the userspace at least knows that the request will not block waiting for
any required resources.

--
Michal Hocko
SUSE Labs