From owner-freebsd-hackers Sun Jul 4 21:51:39 1999 Delivered-To: freebsd-hackers@freebsd.org Received: from apollo.backplane.com (apollo.backplane.com [209.157.86.2]) by hub.freebsd.org (Postfix) with ESMTP id DB6331526C for ; Sun, 4 Jul 1999 21:51:37 -0700 (PDT) (envelope-from dillon@apollo.backplane.com) Received: (from dillon@localhost) by apollo.backplane.com (8.9.3/8.9.1) id VAA73084; Sun, 4 Jul 1999 21:51:29 -0700 (PDT) (envelope-from dillon) Date: Sun, 4 Jul 1999 21:51:29 -0700 (PDT) From: Matthew Dillon Message-Id: <199907050451.VAA73084@apollo.backplane.com> To: Patryk Zadarnowski Cc: Brian Dean , peter@netplex.com.au (Peter Wemm), rivers@dignus.com (Thomas David Rivers), freebsd-hackers@FreeBSD.ORG Subject: Re: support for i386 hardware debug watch points References: <199907050425.OAA12630@mycenae.ilion.eu.org> Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG :(which hopefully constitute the bulk of the system load.) As a rough :guide as to what's up for grabs, Liedtke's measured a reduction of the :cost of a context switch on L4 from somewhere between 95 and 914 clocks :(on pentium) down to 23 clock cycles when using small address spaces. :The performance improvement is huge on pentiums, 6x86s and pentiums :II, although the task is far from trivial (read: major changes to the :memory manager and dynamic libraries.) It's an interesting idea but you will never notice the difference unless you are making tens of thousands of context switches per second. Taking 900 clocks as an example, on a 400 MHz pentium this comes to, roughly 2uS. A thousand context switches per second would eat 2mS out of a second, wasting only 0.2% of the cpu. I think that there are places where we can make use of the 4MB segment capabilities, and kernel threads will eliminate mmu overhead for kernel processes. Anything too complex starts to get into diminishing returns. Using rfork() it is possible to share the same page table across multiple processes (though you'd have to write a little assembly to use the feature at the moment). You could certainly implement this single-address-space idea that way. ELF will allow you to load a program anywhere so it is theoretically possible to put together a system that operates in this manner. -Matt Matthew Dillon :And no, I don't voluneer to do it all by myself, although I'd be glad :to help, coordinate the project, or even do most of the work myself :given enough time. : :Patryk. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message