On Thu, Jan 25, 2018 at 10:58:32AM +0100, Michal Hocko wrote: > Ohh, absolutely. And that is why we have changed the default in upstream > 444eb2a449ef ("mm: thp: set THP defrag by default to madvise and add a > stall-free defrag option") Agreed, that direct compaction change should already address the cases quoted in the other URLs. One of the URL is about using fork() to snapshot a nosql db state, that one can't be helped by the above commit but it's still unrelated to MADV_DONTNEED or memory bloat. It would be possible to fully fix the use of fork() for snapshotting without userfaultfd WP mode, by just adding an madvise that forces 4k CoWs on top of 2M THP and to call it in the parent that keeps writing to memory while the child is writing the readonly copy to disk, but I believe userfaultfd WP will be way more optimal as it provides so many other advantages (i.e. avoid fork() in the first place and use pthread_create and be able to throttle on I/O and limit the max memory usage to something less than x2 RAM without the risk of triggering the OOM killer and have a ring that is written immediately to keep the mem utilization low etc..). Thanks, Andrea -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>