Date: Thu, 15 Feb 1996 14:02:41 +0100 (MET) From: Luigi Rizzo <luigi@labinfo.iet.unipi.it> To: hackers@freebsd.org Subject: Paging questions Message-ID: <199602151302.OAA07491@labinfo.iet.unipi.it>
next in thread | raw e-mail | index | archive | help
More questions/thoughts on paging support for small-memory system. First, a preliminary question: How expensive is it to get a page fault which immediately returns without doing anything (lets call this a Quick Fault) ? According to the 4.3BSD book, I believe this is what was used on the VAX to simulate the 'reference' bit for a page. The x86 supports this in hardware (the DIRTY bit) so we do not have such a need. However I would not expect this kind of operation to be very expensive. And now a couple of questions/ideas: 1) Assume a page is swapped to disk, then copied back in core, and not modified afterwards. Do we keep a reference to the disk block for the page, so as to save subsequent pageouts ? Do we have an idea on how frequently this occurs ? I have no data on this. 2) Can we make DATA pages shared, CopyOnWrite more or less as text pages ? The idea is to consider DATA page readonly when they are first loaded, and make them shared. At the first write access, the page is either copied or (if there is only one process referencing it) transformed into a RW page -- this should be the way COW works. This could be useful in the following cases: - "undump"-ed programs; - "crunched" executables - shared libraries I have to admit I don't know if this can be really useful. A quick check on my system shows that many standard binaries and libraries only use 1-2 pages of DATA and so this is not going to save much memory. However, it should not introduce a significant overhead in the system (an additional Quick Fault in all those cases a DATA page would be copied from disk). Thanks Luigi ==================================================================== Luigi Rizzo Dip. di Ingegneria dell'Informazione email: luigi@iet.unipi.it Universita' di Pisa tel: +39-50-568533 via Diotisalvi 2, 56126 PISA (Italy) fax: +39-50-568522 http://www.iet.unipi.it/~luigi/ ====================================================================
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199602151302.OAA07491>