Messages in this thread | | | Date | Mon, 25 Apr 2016 17:09:09 -0700 | From | Andrew Morton <> | Subject | Re: [PATCH] tmpfs: fix VM_MAYSHARE mappings for NOMMU |
| |
On Fri, 22 Apr 2016 18:19:44 -0400 Rich Felker <dalias@libc.org> wrote:
> Subject: [PATCH] tmpfs: fix VM_MAYSHARE mappings for NOMMU
I take it that "ramfs" was intended here.
> The nommu do_mmap expects f_op->get_unmapped_area to either succeed or > return -ENOSYS for VM_MAYSHARE (e.g. private read-only) mappings. > Returning addr in the non-MAP_SHARED case was completely wrong, and > only happened to work because addr was 0. However, it prevented > VM_MAYSHARE mappings from sharing backing with the fs cache, and > forced such mappings (including shareable program text) to be copied > whenever the number of mappings transitioned from 0 to 1, impacting > performance and memory usage. Subsequent mappings beyond the first > still correctly shared memory with the first. > > Instead, treat VM_MAYSHARE identically to VM_SHARED at the file ops > level; do_mmap already handles the semantic differences between them. > > ... >
| |