Messages in this thread | | | Date | Tue, 6 Jan 1998 17:42:03 -0500 | Subject | Re: 2.1.76, nfs client, and memory fragmentation | From | tytso@mit ... |
| |
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
| |