Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!husc6!rutgers!ames!ptsfa!hoptoad!academ!killer!jfh From: jfh@killer.UUCP (John Haugh) Newsgroups: comp.unix.wizards Subject: Re: Why "u." and not "u->" ? (I'm reading Bach book) Message-ID: <895@killer.UUCP> Date: Sat, 16-May-87 15:06:48 EDT Article-I.D.: killer.895 Posted: Sat May 16 15:06:48 1987 Date-Received: Sat, 23-May-87 10:30:52 EDT References: <626@vixie.UUCP> <3568@spool.WISC.EDU> <500@rust.DEC.COM> Organization: The Unix(tm) Connection, Dallas, Texas Lines: 19 In article <500@rust.DEC.COM>, mhl@rust.DEC.COM (Mark Lucovsky) writes: > > The u. vs u-> is really an issue that deals with the location of the > kernel stack for the current process. Traditional ports assume that all > kernel stacks are based at the same virtual address (inside the u area). [ munch munch ] > I worked on a system were kernel mode ran unmapped. We were unable to > use u. and therefore had to solve some very difficult problems. We even > considered copying u areas to a fixed location at every context switch. This is how it is done in TRS-Xenix so far as I can tell. All 4K of the U-page is copied on each context switch. It is very expensive to say the least, something like 4K * (8 cycles per word + 2 wait states) * 6MHz does not give a whole lot of context switches per second. They seem to get smart and only copy from the base of the U-page to the end of struct user and from the end of the U-page to the SSP. This leaves out all that unneeded stuff in the middle. - john.