From owner-freebsd-hackers Tue Apr 9 14:02:47 1996 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id OAA13665 for hackers-outgoing; Tue, 9 Apr 1996 14:02:47 -0700 (PDT) Received: from phaeton.artisoft.com (phaeton.Artisoft.COM [198.17.250.211]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id OAA13657 for ; Tue, 9 Apr 1996 14:02:34 -0700 (PDT) Received: (from terry@localhost) by phaeton.artisoft.com (8.6.11/8.6.9) id NAA05915; Tue, 9 Apr 1996 13:52:21 -0700 From: Terry Lambert Message-Id: <199604092052.NAA05915@phaeton.artisoft.com> Subject: Re: The F_SETOWN problem.. To: hasty@rah.star-gate.com (Amancio Hasty Jr.) Date: Tue, 9 Apr 1996 13:52:21 -0700 (MST) Cc: terry@lambert.org, roell@blah.a.isar.de, hackers@FreeBSD.ORG, roell@xinside.com In-Reply-To: <199604092053.NAA02328@rah.star-gate.com> from "Amancio Hasty Jr." at Apr 9, 96 01:53:01 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-hackers@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk > I guess is easier to fire off a process to handle each separate > asynch io stream 8) I would suggest "stack regions" with mapped guard pages for automatic growth. This would require segmenting the kernel address space, since the stacks would really belong to the AST subsystem and be "borrowed" by the process. I believe this is what VMS does. The problem is the amount of work requires to implement the segmentation. VMS has 3 levels of hardware protection, which it uses to implement this. I would prefer to not have to rely on such a limited set of hardware for FreeBSD ports. This means breaking up the mappable data address space into ranges to allow stacks to be page mapped and guarded. Alternately, the compiler could be made to use relative rather than abosolute addressing for stack variables, which would let the stacks be relocated as necessary. This kind of assumes that the default usage would be one page, and that any more would start putting on overhead for page relocation. If stacks were relative, all that I would care about when accessing a stack variable would be the stack base and the relative address from the stack base, instead of the absolute address of where that area of stack is mapped in the dataspace. It's the fixed mapping that screws the ability to run around with multiple stacks (without carving up the data space into "potential stacks with guard pages", I mean). Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.