Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!wang!news From: marcs@slc.com (Marc San Soucie) Newsgroups: comp.arch Subject: Re: Page size and linkers Message-ID: Date: 22 Jan 91 22:30:15 GMT References: <1991Jan19.133914.23871@bellcore.bellcore.com> <3981@skye.ed.ac.uk> Sender: news@wang.com Organization: Servio Corporation Lines: 40 Richard Tobin writes: > Piercarlo Grandi writes: > > Incidentally, even a 4KB pagesize is still too large, even if it is > > barely tolerable. 8KB was simply crazy, for a workstation/time sharing > > server. > Large page sizes seem likely to interact badly with programs > containing a large number of small procedures, such as X clients. An > obvious improvement would be to have the linker order procedures so that > procedures commonly used together were adjacent, and separate from > rarely used procedures. > > Has this been done in any real systems? I know of one instance, which may not qualify for the label 'real', which was a workstation project undertaken at Wang Laboratories and later discarded shortly before its release date. The OS for the workstation was a System 5.3 compatible home-built, with home-cobbled tools and other home-made goodies. One of the real goodies, which I have yet to see in a UNIX system, was a service provided by the Kernel (and making liberal use of a nifty 68020/30 hardware feature) whereby one could run one's program under the auspices of the debugger, and cause it to emit a trace log of all jumps and calls. I wrote a set of spiffers which munged the trace log into a linker script which would cause the program to be linked in an order most advantageous for initial page-in and in many cases for least runtime memory use. It took about three steps, but one could use a real instance of a program to improve the program's linking. The same info, of course, could be turned into performance analysis data, into branch testing data, etc. Very, very nice. Unfortunately, few chips seems to support the jump/call hardware interrupt, and even fewer OS's support the trace log feature. Alas, another great service tossed in the dumper... Marc San Soucie Portland, Oregon marcs@slc.com