reiher@ucla-cs.UUCP (02/06/85)
What kernel modifications do all you wizards think would produce the greatest speedup in Unix (let's assume Sys V, to give a common base for discussion)? How difficult to you think they would be to make? How much can be done without introducing incompatibilites, at least at the source code level? Are there any potential speedups of such overriding benefit that minor incompatibilities might be worth it? -- Peter Reiher reiher@ucla-cs.arpa {...ihnp4,ucbvax,sdcrdcf}!ucla-cs!reiher
ado@elsie.UUCP (Arthur David Olson) (02/08/85)
> What kernel modifications do all you wizards think would produce the > greatest speedup in Unix (let's assume Sys V, to give a common base for > discussion)? Remove all the gunk that's been added since Version 7. -- UUCP: ..decvax!seismo!elsie!ado ARPA: you've got me! DEC, VAX and Elsie are Digital Equipment and Borden trademarks
Doug Gwyn (VLD/VMB) <gwyn@Brl-Vld.ARPA> (02/10/85)
The exact tradeoffs depend on the specific hardware involved. Here are some ideas that should work especially well for smaller systems: Item # 1: Install the 3B20A semaphores in all UNIX kernels, so that unnecessary lockout of interrupts does not occur. Item # 2: Fix the scheduler. Item # 3: Locate and fix all linear searches through tables that might grow larger than a dozen or so entries. Item # 4: Install stream I/O. This in itself may not speed things up much, but it provides the base for moving functionality out of the host CPU and into smart I/O processors (terminal driver in your 5620, anyone?). Item # 5: Do not resort to overly complicated algorithms; the CPU is not a "free" resource. Item # 6: Start ripping stuff out of the kernel if it can be done well in user mode with the support of a more general kernel facility. The wasted memory reclaimed will improve performance of user processes.
dave@lsuc.UUCP (David Sherman) (02/11/85)
Forget kernel mods. There's one simple change at the applications program level which make a huge difference to many interactive programs. Simple call setbuf on stdout, and put fflush(stdout) where appropriate. Make sure you don't miss any important fflush's, though. -- {utzoo pesnta nrcaero utcs}!lsuc!dave {allegra decvax ihnp4 linus}!utcsrgv!lsuc!dave