On Fri, Feb 09, 2018 at 07:26:09AM +0300, Kirill A. Shutemov wrote: > On Thu, Feb 08, 2018 at 01:37:43PM -0800, Matthew Wilcox wrote: > > On Thu, Feb 08, 2018 at 12:21:00PM -0800, Matthew Wilcox wrote: > > > Now that I think about it, though, perhaps the simplest solution is not > > > to worry about checking whether _mapcount has saturated, and instead when > > > adding a new mmap, check whether this task already has it mapped 10 times. > > > If so, refuse the mapping. > > > > That turns out to be quite easy. Comments on this approach? > > This *may* break some remap_file_pages() users. We have some?! ;-) I don't understand the use case where they want to map the same page of a file multiple times into the same process. I mean, yes, of course, they might ask for it, but I don't understand why they would. Do you have any insight here? > And it may be rather costly for popular binaries. Consider libc.so. We already walk this tree to insert the mapping; this just adds a second walk of the tree to check which overlapping mappings exist. I would expect it to just make the tree cache-hot. -- 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>