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().