Messages in this thread | | | Date | Tue, 3 Feb 2015 11:21:24 +0000 | From | Mel Gorman <> | Subject | Re: [RFC PATCH] mm: madvise: Ignore repeated MADV_DONTNEED hints |
| |
On Tue, Feb 03, 2015 at 12:47:56PM +0200, Kirill A. Shutemov wrote: > On Tue, Feb 03, 2015 at 09:47:18AM +0000, Mel Gorman wrote: > > On Mon, Feb 02, 2015 at 02:22:36PM -0800, Dave Hansen wrote: > > > On 02/02/2015 08:55 AM, Mel Gorman wrote: > > > > This patch identifies when a thread is frequently calling MADV_DONTNEED > > > > on the same region of memory and starts ignoring the hint. On an 8-core > > > > single-socket machine this was the impact on ebizzy using glibc 2.19. > > > > > > The manpage, at least, claims that we zero-fill after MADV_DONTNEED is > > > called: > > > > > > > It also claims that the kernel is free to ignore the advice. > > > > > > MADV_DONTNEED > > > > Do not expect access in the near future. (For the time being, the application is finished with the given range, so the kernel can free resources > > > > associated with it.) Subsequent accesses of pages in this range will succeed, but will result either in reloading of the memory contents from the > > > > underlying mapped file (see mmap(2)) or zero-fill-on-demand pages for mappings without an underlying file. > > > > > > So if we have anything depending on the behavior that it's _always_ > > > zero-filled after an MADV_DONTNEED, this will break it. > > > > True. I'd be surprised if any application depended on that > > IIUC, jemalloc depends on this[1]. > > [1] https://github.com/jemalloc/jemalloc/blob/dev/src/chunk_mmap.c#L117 >
Hope they never back regions with hugetlb then or fall apart if the process called mlockall
-- Mel Gorman SUSE Labs
| |