Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 5 Dec 2000 15:21:52 -0800 (PST)
From:      Joe McGuckin <joe@monk.via.net>
To:        smp@FreeBSD.ORG
Subject:   Re[2]: BSD/OS interrupt code
Message-ID:  <200012052322.eB5NMM480841@monk.via.net>
In-Reply-To: <Pine.BSF.4.21.0011281121020.247-100000@salmon.nlsystems.com>

next in thread | previous in thread | raw e-mail | index | archive | help

Hey, I've been out of town for a week & just saw this...

Doesn't this sound similar to  Henry Massalin's and Calton Pu's synthesis kernel 
papers? Where they dynamically generate specifically compiled 
O/S entry points? Instead of having one read() system call (for example) 
with various state and constraint checks in the code, a custom read() 
entry point would be generated. It was extremely fast. As part of this 
work, they also created a superoptimizer that would produce very 
compact and fast code sequences for use in the runtime code generator.

My guess is that they were pre-generating function stub routines & performing
limited instruction substitution in the stub routines to customize it.

Supposedly the superoptimizer reduced the doprnt() routine (it used to 
be the guts of printf(), etc) to something like 800 bytes, but it took
weeks to generate the code!

joe



--

Joe McGuckin

ViaNet Communications
994 San Antonio Road
Palo Alto, CA  94303

Phone: 650-969-2203
Cell:  650-207-0372
Fax:   650-969-2124


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-smp" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200012052322.eB5NMM480841>