Messages in this thread | | | Date | Sun, 17 Feb 2013 14:54:56 -0800 | From | Andrew Morton <> | Subject | Re: [patch 1/2] mm: fincore() |
| |
On Sat, 16 Feb 2013 14:53:43 +1030 Rusty Russell <rusty@rustcorp.com.au> wrote:
> Andrew Morton <akpm@linux-foundation.org> writes: > > On Fri, 15 Feb 2013 18:13:04 -0500 > > Johannes Weiner <hannes@cmpxchg.org> wrote: > >> I dunno. The byte vector might not be optimal but its worst cases > >> seem more attractive, is just as extensible, and dead simple to use. > > > > But I think "which pages from this 4TB file are in core" will not be an > > uncommon usage, and writing a gig of memory to find three pages is just > > awful. > > Actually, I don't know of any usage for this call.
That's good news ;)
We shouldn't add it unless there's damn good reason.
> I'd really like to use it for backup programs, so they stop pulling > random crap into memory (but leave things already resident). But that > needs to madvise(MADV_DONTNEED) on the page, so need mmap. > > So why not just use mincore?
One can use fadvise(POSIX_FADV_DONTNEED) to drop the pages.
Or toss your backup app into a small memcg so it reclaims its own stuff. See recent thread "mm: fadvise: Drain all pagevecs if POSIX_FADV_DONTNEED fails to discard all pages"
| |