• Arun Sharma's avatar
    [PATCH] ia64: fix ia32 virtual memory leaks due to partial-page mappings · 972d8c37
    Arun Sharma authored
    Certain IA-32 applications which do mmap/munmaps which are not
    PAGE_SIZE aligned could see temporary (recovered at process exit time)
    memory leaks, because the kernel didn't have enough data to decide if
    the complete page could be unmapped. This patch adds a new data
    structure called the "partial page list" which helps the kernel keep
    track of precisely which 4k pages are in use by the IA-32 application.
    
    Armed with this data, the kernel can make better decisions at munmap
    and mprotect time. No significant performance degradation was observed
    in the workloads we tested and in some cases, the performance actually
    improved!  This is possibly due to the reduced length of the vma list.
    Signed-off-by: default avatarArun Sharma <arun.sharma@intel.com>
    Signed-off-by: default avatarGordon Jin <gordon.jin@intel.com>
    Signed-off-by: default avatarDavid Mosberger <davidm@hpl.hp.com>
    972d8c37
binfmt_elf32.c 6.78 KB