From owner-freebsd-arch Thu Dec 20 14:19: 4 2001 Delivered-To: freebsd-arch@freebsd.org Received: from critter.freebsd.dk (critter.freebsd.dk [212.242.86.163]) by hub.freebsd.org (Postfix) with ESMTP id 80EA537B416; Thu, 20 Dec 2001 14:18:59 -0800 (PST) Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.11.6/8.11.6) with ESMTP id fBKMH5l04238; Thu, 20 Dec 2001 23:17:05 +0100 (CET) (envelope-from phk@critter.freebsd.dk) To: Alfred Perlstein Cc: John Baldwin , Julian Elischer , arch@FreeBSD.org Subject: Re: Kernel stack size and stacking: do we have a problem ? In-Reply-To: Your message of "Thu, 20 Dec 2001 16:12:30 CST." <20011220161230.L48837@elvis.mu.org> Date: Thu, 20 Dec 2001 23:17:05 +0100 Message-ID: <4236.1008886625@critter.freebsd.dk> From: Poul-Henning Kamp Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG In message <20011220161230.L48837@elvis.mu.org>, Alfred Perlstein writes: >* Poul-Henning Kamp [011220 16:08] wrote: >> >> B) We have no idea how to sanely fix VOP_ since it is synchronous. >> When I say "sanely" I'm referring to the fact that the VOP >> code is scary enough as it is and we don't want to make it even >> hairier, lest we loose the few filesystem hackers we have, not >> to mention the fact that we would probably never complete the >> conversion in the first place (see sys/vnode.h::IS_LOCKING_VFS() >> for precedent.) > >Wait, when you almost run out of stack what's stopping you from >queuing the vop data to a thread and then sleeping? The fact that we have nobody who would pick up the queued request and process it and that you would run into all sorts of locking, deadlock and starvation issues. >I know that >sleeping in certain VOPs isn't allowed, but maybe we could >somehow switch stacks temporarily via some sort of continuation >system... Some kind of "can I borrow a cup of kernel-stack" method might be an option, but I'd far rather just fail the VOP and tell the user to increase the kernel-stack size. As I said: The key to this question is that very few of the global changes to the VOP API have ever been completed entirely and consequently we should have a major good reason to start another one. -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message