[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150203104756.GB14259@node.dhcp.inet.fi>
Date: Tue, 3 Feb 2015 12:47:56 +0200
From: "Kirill A. Shutemov" <kirill@...temov.name>
To: Mel Gorman <mgorman@...e.de>
Cc: Dave Hansen <dave.hansen@...el.com>, linux-mm@...ck.org,
Minchan Kim <minchan@...nel.org>,
Vlastimil Babka <vbabka@...e.cz>,
Andrew Morton <akpm@...ux-foundation.org>,
linux-kernel@...r.kernel.org
Subject: Re: [RFC PATCH] mm: madvise: Ignore repeated MADV_DONTNEED hints
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
--
Kirill A. Shutemov
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists