Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cornell!uw-beaver!rice!sun-spots-request From: auspex!guy@uunet.uu.net (Guy Harris) Newsgroups: comp.sys.sun Subject: Re: 4 MB Suns with OS version 4.0 Keywords: SunOS Message-ID: <1123@auspex.UUCP> Date: 14 Mar 89 13:35:23 GMT References: <8902232124.AA02261@lear.ultra.com> Sender: usenet@rice.edu Organization: Auspex Systems, Santa Clara Lines: 30 Approved: Sun-Spots@rice.edu Original-Date: 6 Mar 89 18:47:04 GMT X-Sun-Spots-Digest: Volume 7, Issue 198, message 5 of 13 >Relative to Charles Hedrick's observation on paging being different under >SunOS 4.0, I understand that one of the changes that was made was to go to >a more "global" page replacement strategy, instead of treating program >areas and disk cache and so forth as separate "local" paging areas. Well, sort of. In fact, what happened is that the UFS and NFS file systems perform "read" and "write" operations by temporarily mapping the affected region of the file in question into the kernel's address space and doing copies between the mapped region and the process's buffer. The net result happens to be that all of the page frame pool is used both for paging for "read"s and "write"s, and paging for mapped-in files (e.g., demand-paged executables and "mmap"ped files), which means in effect that any page in the page frame pool can be used as what in earlier UNIX systems would be a buffer-pool block for file data. (Control information - inodes, bitmaps, indirect blocks - is still kept in a reduced-size traditional buffer cache). >Apparently this is even regarded within Sun as a somewhat suspect >"optimization." It is not, as far as I know, so regarded - at least not in the OS group. The idea is considered reasonable; there may, at present, be problems with the paging algorithms that make it cause problems in some cases. (The potential performance improvement - which, at least on machines with lots of memory, translates to an actual performance improvement - wasn't the only reason why this was done; it also simplified problems of keeping file data references in "read" and "write", and references to mapped file data, consistent.)