Re: 2.1.76, nfs client, and memory fragmentation

tytso@mit.edu
Tue, 6 Jan 1998 17:42:03 -0500


Date: Fri, 2 Jan 1998 12:09:45 -0800 (PST)
From: Linus Torvalds <torvalds@transmeta.com>

It's only when you want a _specific_ physical page that the lack of
reverse mapping is painful. That does happen with shared non-COW pages
occasionally (paging them out would be complex), but UNIX semantics tends
to make it fairly easy - the only shared non-COW pages that exist have a
well-specified backing store that all processes can agree about, so there
is no ambiguity about where on the disk a page should be. It does result
in potentially unnecessary page-outs (when multiple processes have the
same page dirty), but it's a pretty rare condition.

Actually, there's one *really* large and very successful commercial
company that I know of where a developer has found this to be a pretty
major bottleneck in performance due to the way their application
libraries use shared libraries --- he's done benchmarks and proved it.

(If you think about it, it's actually not all that surprising. If
you're using shared memory or a mmap'ed file for doing IPC, it's
actually quite likely that multiple processes will be dirtying the same
page. Certain news implementations where the group file is mmap'ed in
would have the same property.)

- Ted