binary Mach distribution for 386

lance.norskog lance at motcsd.csd.mot.com
Sun Jan 13 11:04:14 AEST 1991


rcd at ico.isc.com (Dick Dunn) writes:

>shore at mtxinu.COM (Melinda Shore) writes:

>> ...Also, you'd be surprised at how much
>> context switching can affect performance...

>That's actually less surprising in the 386 world.  Context switches on the
>386 (assuming a full switch--a TSS change via call gate) are relatively
>expensive, and interrupts are even worse because of the MM of dealing with
>the PICs.  Open question (I suspect): Is Mach 3.0 a bad match to the 386
>(based on context-switch frequency and cost)?

Well, there a few problems with standard UNIX on the 386 that
might go away with Mach:  

	1) UNIX re-uses the same kernel addresses for different processes.
	This forces UNIX to toss the page table cache during context
	switches, >when an operating system shouldn't have to<.  I
	don't believe the standard figure of 98% page table cache hits 
	for these systems.  Are there any hard studies of real code
	executing?
	
	2) UNIX still uses the PDP-11 interrupt hierarchy model.  The
	386 PIC code implements a faithful and extremely expensive
	emulation of this model.  

	Philips (Dutch) wrote a window manager for terminals as a 
	Streams multiplexor.  They found that 20% of the CPU time, 
	measured by a logic analyser, was spent in the interrupt 
	management code.  It would be quite easy to replace the
	hardware interrupt hierarchy with a software-based scheme
	where the only interrupt management is done with the
	enable/disable op codes.

	3) Use 4K blocks and fiddle page tables instead of copying
	data around.  The RAM situation that forced 1K blocks is
	over.  (If Intel still sold the DRAM chips they invented,
	it would have been 4K blocks from the beginning.)

Note to Benny: Any 386 UNIX port that uses the above tricks will 
leave the current crop in the dust.

Lance



More information about the Comp.unix.sysv386 mailing list