From owner-freebsd-hackers Sat Jan 13 06:01:00 1996 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id GAA27729 for hackers-outgoing; Sat, 13 Jan 1996 06:01:00 -0800 (PST) Received: from genesis.atrad.adelaide.edu.au (genesis.atrad.adelaide.edu.au [129.127.96.120]) by freefall.freebsd.org (8.7.3/8.7.3) with ESMTP id GAA27723 for ; Sat, 13 Jan 1996 06:00:50 -0800 (PST) Received: from msmith@localhost by genesis.atrad.adelaide.edu.au (8.6.12/8.6.9) id AAA19555; Sun, 14 Jan 1996 00:32:07 +1030 From: Michael Smith Message-Id: <199601131402.AAA19555@genesis.atrad.adelaide.edu.au> Subject: Re: X for install To: terry@lambert.org (Terry Lambert) Date: Sun, 14 Jan 1996 00:32:07 +1030 (CST) Cc: msmith@atrad.adelaide.edu.au, terry@lambert.org, gibbs@freefall.freebsd.org, phk@critter.tfs.com, jkh@time.cdrom.com, obrien@cs.ucdavis.edu, freebsd-hackers@FreeBSD.org In-Reply-To: <199601041757.KAA18080@phaeton.artisoft.com> from "Terry Lambert" at Jan 4, 96 10:57:59 am MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-hackers@FreeBSD.org Precedence: bulk (ah, mail backlogs 8) Terry Lambert stands accused of saying: > > Why? You load a driver, it sets up whatever it needs in terms of buffers, > > and then probes. If the probe succeeds, you attach it, if it fails, you > > throw it all out. > > > > The problem with fragmentation is in autodiscard, not autoload. > > I agree. How do you fix it? > > Typically, I'd say either PIC the code or put drivers in their own > per driver address space. ... or don't discard, only ever grow. (And obviously have seperate 'probe' modules. There's only ever one of them around at a time...) > The "easiest" would be to load them, map them into a "probe space", > call from "kernel space" to "probe space", and on a hit (where you > will keep the driver) remap into "kernel space", unmapping from "probe". Or cons up a 'driver space', load a driver in and let it probe. If it barfs, throw it out and overwrite it. If it wins, link it in and cons up a new 'driver space'. > The private address space has the advantage of isolating potentially > nasty ("scribble on the kernel") drivers, and the disadvantage of > additional protection domain crossing (ala NetWare 4.x "memory > protection"). With all the hoohah on pipelining and speculative execution and all that crap, one never reads much about improvements in these issues (nor TLA and friends). Is this domain crossing still expensive on newer processors? (In context, I guess newer means P5+) > Terry Lambert -- ]] Mike Smith, Software Engineer msmith@atrad.adelaide.edu.au [[ ]] Genesis Software genesis@atrad.adelaide.edu.au [[ ]] High-speed data acquisition and (GSM mobile) 0411-222-496 [[ ]] realtime instrument control (ph/fax) +61-8-267-3039 [[ ]] "Who does BSD?" "We do Chucky, we do." [[