From owner-cvs-src-old@FreeBSD.ORG Sat Nov 27 23:49:17 2010 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CEE5C1065672 for ; Sat, 27 Nov 2010 23:49:17 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BC4C98FC18 for ; Sat, 27 Nov 2010 23:49:17 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id oARNnHZx021653 for ; Sat, 27 Nov 2010 23:49:17 GMT (envelope-from zec@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id oARNnHM8021652 for cvs-src-old@freebsd.org; Sat, 27 Nov 2010 23:49:17 GMT (envelope-from zec@repoman.freebsd.org) Message-Id: <201011272349.oARNnHM8021652@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to zec@repoman.freebsd.org using -f From: Marko Zec Date: Sat, 27 Nov 2010 23:48:53 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: RELENG_8 Subject: cvs commit: src/sys/netgraph ng_pipe.c X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 27 Nov 2010 23:49:17 -0000 zec 2010-11-27 23:48:53 UTC FreeBSD src repository Modified files: (Branch: RELENG_8) sys/netgraph ng_pipe.c Log: SVN rev 215958 on 2010-11-27 23:48:53Z by zec MFC r215800: Simplify ng_pipe locking model by relying on the netgraph framework to provide serialization of calls into the node, which is accomplished by markng the node as single-threaded (NGF_FORCE_WRITER). The price we pay is that each ng_pipe instance now has its own callout handler which polls for queued frames on each clock tick, as long as the pipe has any frames in its internal queues. OTOH, we got rid of the global ng_pipe mutex, so from now on multiple ng_pipe instances can operate in parallel. This change also fixes counting of forwarded frames when an ng_pipe node is not enforcing any packet impairments. While here, attempt to improve adherance to style(9) throughout otherwise mostly unreadable code. Revision Changes Path 1.3.2.5 +85 -147 src/sys/netgraph/ng_pipe.c