Re: [RFC] Per-inode metadata cache.

Stephen C. Tweedie (sct@redhat.com)
Mon, 18 Oct 1999 22:58:11 +0100 (BST)


Hi,

On Mon, 18 Oct 1999 14:30:10 +0200 (CEST), Andrea Arcangeli
<andrea@suse.de> said:

> I can't see these bigmem issues. The buffer and page-cache memory is not
> in bigmem anyway. And you can use bigmem _wherever_ you want as far as you
> remeber to fix all the involved code to kmap before read/write to
> potential bigmem memory. bigmem issue looks like a red-herring to me.

Data and metadata are completely different. On, say, a large and busy
web or ftp server, you really don't care about a 1G metadata limit, but
a 1G page cache limit is much more painful.

Secondly, data is accessed by user code: mmap of highmem page cache
pages can work automatically via normal ptes, and read()/write() of such
pages requires kmap (or rather, something a little more complex which
can accept a page fault mid-copy) in a very few, well-defined places in
filemap.c. Metadata, on the other hand, is extremely hot data, being
accessed randomly at high frequency _everywhere_ in the filesystems.

It's a much, much messier job to teach the filesystems about high-memory
buffer cache than to teach the filemap about high-memory page cache, and
the page cache is the one under the most memory pressure in the first
place.

--Stephen

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/