From owner-freebsd-current Fri Sep 13 12:27:29 1996 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id MAA10819 for current-outgoing; Fri, 13 Sep 1996 12:27:29 -0700 (PDT) Received: from phaeton.artisoft.com (phaeton.Artisoft.COM [198.17.250.211]) by freefall.freebsd.org (8.7.5/8.7.3) with SMTP id MAA10807; Fri, 13 Sep 1996 12:27:26 -0700 (PDT) Received: (from terry@localhost) by phaeton.artisoft.com (8.6.11/8.6.9) id MAA09428; Fri, 13 Sep 1996 12:25:30 -0700 From: Terry Lambert Message-Id: <199609131925.MAA09428@phaeton.artisoft.com> Subject: Re: VM problem (OK!!) To: dyson@FreeBSD.org Date: Fri, 13 Sep 1996 12:25:29 -0700 (MST) Cc: jdli@FreeBSD.csie.NCTU.edu.tw, freebsd-current@FreeBSD.org In-Reply-To: <199609130307.WAA00231@dyson.iquest.net> from "John S. Dyson" at Sep 12, 96 10:07:55 pm X-Mailer: ELM [version 2.4 PL24] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-current@FreeBSD.org X-Loop: FreeBSD.org Precedence: bulk > > > Addition of page coloring support. Various levels of coloring are > > > afforded. The default level works with minimal overhead, but one > > > can also enable full, efficient use of a 512K cache. (Parameters > > > can be generated to support arbitrary cache sizes also.) > > > > BTW, I don't understand this, does it mean that I can tune my kernel > > to use cache better ? (I got 512k pb-cache, 32MB DRAM, ASUS T2P4 M/B) > > Yes!!! I haven't documented the options yet, their names are probably > not final. Hold up a second. When you said you had page coloring working, I immediately thought in Microsoft terms of using a segment type identifier on page creation for gross management of code. Specifically, I thought I could do this with an ELF kernel: Color Meaning 0x00 Immovable data 0x01 Immovable code 0x02 Discardable data 0x03 Discardable code 0x04 Pageable data 0x05 Pageable code 0x06 Driver locked data 0x07 Driver locked code 0x08 Driver pageable data 0x09 Driver pageable code [ ... ] Then I would make the console driver by putting the interrupt handler code in 0x07, the data referenced by the interrupt handler code (ie: volatile data) in 0x06, one time initialization code/data in 0x03 and 0x02, and the rest of the driver in 0x09 and 0x08. Then I could replace the console driver with a card-specific driver once I had booted and throw away all pages that contained the default console driver. Similarly, I could replace a VM86()-based BIOS-using disk driver with a controller-specific driver, letting me boot on all 386 or better hardware DOS can boot on, run at diminished performance if there was no protected mode driver, and load a protected mode driver for better performance if it were available (and throw away the BIOS-using driver once I had done that). It seems that you are using page coloring in terms of L2 cache here; am I missing something? Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.