Re: [PATCH] mm: split thp synchronously on MADV_DONTNEED

From: Shakeel Butt
Date: Sun Nov 21 2021 - 00:45:55 EST


On Sat, Nov 20, 2021 at 8:35 PM Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote:
>
> On Sat, Nov 20, 2021 at 12:12:30PM -0800, Shakeel Butt wrote:
> > This patch let such applications not worry about the low level handling
> > of THPs in the kernel and splits the THPs synchronously on
> > MADV_DONTNEED.
>
> I don't mind the synchronous split, but I have concerns about the
> implementation. I don't think it's worth another pointer in task_struct.

Are you concerned about the size of task_struct? At least on my config
this additional pointer was just filling the holes and not increasing
the size. I can check a couple other configs as well.

> It's also the case that splitting is likely to succeed, so I think a
> better implementation would try to split and then put the page on the
> global deferred list if splitting fails.

Actually this is what this patch is doing. See the second loop in
split_local_deferred_list().