[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20140521193336.5df90456.akpm@linux-foundation.org>
Date: Wed, 21 May 2014 19:33:36 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: Naoya Horiguchi <n-horiguchi@...jp.nec.com>
Cc: linux-kernel@...r.kernel.org, linux-mm@...ck.org,
Konstantin Khlebnikov <koct9i@...il.com>,
Wu Fengguang <fengguang.wu@...el.com>,
Arnaldo Carvalho de Melo <acme@...hat.com>,
Borislav Petkov <bp@...en8.de>
Subject: Re: [PATCH 0/4] pagecache scanning with /proc/kpagecache
On Wed, 21 May 2014 22:19:55 -0400 Naoya Horiguchi <n-horiguchi@...jp.nec.com> wrote:
> > A much nicer interface would be for us to (finally!) implement
> > fincore(), perhaps with an enhanced per-present-page payload which
> > presents the info which you need (although we don't actually know what
> > that info is!).
>
> page/pfn of each page slot and its page cache tag as shown in patch 4/4.
>
> > This would require open() - it appears to be a requirement that the
> > caller not open the file, but no reason was given for this.
> >
> > Requiring open() would address some of the obvious security concerns,
> > but it will still be possible for processes to poke around and get some
> > understanding of the behaviour of other processes. Careful attention
> > should be paid to this aspect of any such patchset.
>
> Sorry if I missed your point, but this interface defines fixed mapping
> between file position in /proc/kpagecache and in-file page offset of
> the target file. So we do not need to use seq_file mechanism, that's
> why open() is not defined and default one is used.
> The same thing is true for /proc/{kpagecount,kpageflags}, from which
> I copied/pasted some basic code.
I think you did miss my point ;) Please do a web search for fincore -
it's a syscall similar to mincore(), only it queries pagecache:
fincore(int fd, loff_t offset, ...). In its simplest form it queries
just for present/absent, but we could increase the query payload to
incorporate additional per-page info.
It would take a lot of thought and discussion to nail down the
fincore() interface (we've already tried a couple of times). But
unfortunately, fincore() is probably going to be implemented one day
and it will (or at least could) make /proc/kpagecache obsolete.
--
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