From owner-cvs-src@FreeBSD.ORG Thu Jan 31 19:54:05 2008 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4E51A16A418 for ; Thu, 31 Jan 2008 19:54:05 +0000 (UTC) (envelope-from joerg@britannica.bec.de) Received: from www.pkgsrc-box.org (www.ostsee-abc.de [62.206.222.50]) by mx1.freebsd.org (Postfix) with ESMTP id 16A1013C458 for ; Thu, 31 Jan 2008 19:54:05 +0000 (UTC) (envelope-from joerg@britannica.bec.de) Received: from britannica.bec.de (www.pkgsrc-box.org [127.0.0.1]) by www.pkgsrc-box.org (Postfix) with ESMTP id D7425E7A3E0 for ; Thu, 31 Jan 2008 19:54:03 +0000 (UTC) Received: by britannica.bec.de (Postfix, from userid 1000) id 7A203175CA; Thu, 31 Jan 2008 20:50:26 +0100 (CET) Date: Thu, 31 Jan 2008 20:50:26 +0100 From: Joerg Sonnenberger To: cvs-src@freebsd.org Message-ID: <20080131195026.GB3751@britannica.bec.de> References: <200801310851.m0V8pmNB093625@repoman.freebsd.org> <20080131.112901.803599757.imp@bsdimp.com> <47A223A7.8030503@FreeBSD.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <47A223A7.8030503@FreeBSD.org> User-Agent: Mutt/1.5.16 (2007-06-09) Subject: Re: cvs commit: src/sys/netgraph netgraph.h ng_base.c ng_iface.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 31 Jan 2008 19:54:05 -0000 On Thu, Jan 31, 2008 at 09:38:15PM +0200, Alexander Motin wrote: > There will always be some part of magic as nobody can say for sure how much > stack is required to pass packet via all network stack to TCP socket and > then back. But while netgraph engine allows to decouple stack without > consequences I thing it worth to make it work. There was a some research work a number of years ago on this topic. They instrumented the compiler to check the remaining size of the stack based on the call graph. This allows threads without fixed size stacks and gives one of the huge advantages of non-blocking programming to threaded programs. Of course, this was never turned into main stream, but the result was that the performance impact was quite low for typical programs, as the number of cycles in the call graph to break is not that bad in practise. Joerg