From owner-freebsd-net@FreeBSD.ORG Thu Mar 8 22:43:36 2007 Return-Path: X-Original-To: net@freebsd.org Delivered-To: freebsd-net@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6A57B16A400 for ; Thu, 8 Mar 2007 22:43:36 +0000 (UTC) (envelope-from david.baukus@us.fujitsu.com) Received: from fncnmp04.fnc.fujitsu.com (fncnmp04.fnc.fujitsu.com [168.127.0.57]) by mx1.freebsd.org (Postfix) with ESMTP id 352C713C481 for ; Thu, 8 Mar 2007 22:43:36 +0000 (UTC) (envelope-from david.baukus@us.fujitsu.com) Received: from unknown (HELO nova.tx.fnc.fujitsu.com) ([167.254.252.121]) by fncnmp04.fnc.fujitsu.com with ESMTP; 08 Mar 2007 16:33:07 -0600 X-IronPort-AV: i="4.14,264,1170655200"; d="scan'208"; a="67422211:sNHT20839556" Received: from nomad.tx.fnc.fujitsu.com (localhost [127.0.0.1]) by nova.tx.fnc.fujitsu.com (8.13.7+Sun/8.13.7) with ESMTP id l28MX6og007422 for ; Thu, 8 Mar 2007 16:33:06 -0600 (CST) Received: from tdd2172.tddeng00.fnts.com (tdd2172.tddeng00.fnts.com [167.254.250.128]) by nomad.tx.fnc.fujitsu.com (8.13.7+Sun/8.13.7) with ESMTP id l28MX1Fi013577 for ; Thu, 8 Mar 2007 16:33:06 -0600 (CST) Received: from [127.0.0.1] (localhost [127.0.0.1]) by tdd2172.tddeng00.fnts.com (8.11.7p3+Sun/8.11.7) with ESMTP id l28MX1v13668 for ; Thu, 8 Mar 2007 16:33:01 -0600 (CST) Message-ID: <45F08F1D.5080708@us.fujitsu.com> Date: Thu, 08 Mar 2007 16:33:01 -0600 From: Dave Baukus User-Agent: Mozilla Thunderbird 1.0 (X11/20041208) X-Accept-Language: en-us, en MIME-Version: 1.0 To: net@freebsd.org References: <45C0CA5D.5090903@incunabulum.net> <45E6BEE0.2050307@FreeBSD.org> <45E6C22D.7060200@freebsd.org> <45E6D70C.10104@FreeBSD.org> <45EEB086.3050409@FreeBSD.org> <45F03269.7050705@FreeBSD.org> In-Reply-To: <45F03269.7050705@FreeBSD.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Subject: netisr_direct X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Mar 2007 22:43:36 -0000 What's the word on netisr_direct ? Do people typically enable this feature ? net/netisr.c: static int netisr_direct = 0; SYSCTL_INT(_net_isr, OID_AUTO, direct, CTLFLAG_RW, &netisr_direct, 0, "enable direct dispatch"); TUNABLE_INT("net.isr.direct", &netisr_direct); /* * Do direct dispatch only for MPSAFE netisrs (and * only when enabled). Note that when a netisr is * marked MPSAFE we permit multiple concurrent instances * to run. We guarantee only the order in which * packets are processed for each "dispatch point" in * the system (i.e. call to netisr_dispatch or * netisr_queue). This insures ordering of packets * from an interface but does not guarantee ordering * between multiple places in the system (e.g. IP * dispatched from interfaces vs. IP queued from IPSec). */ if (netisr_direct && (ni->ni_flags & NETISR_MPSAFE)) { isrstat.isrs_directed++; /* * NB: We used to drain the queue before handling * the packet but now do not. Doing so here will * not preserve ordering so instead we fallback to * guaranteeing order only from dispatch points * in the system (see above). */ ni->ni_handler(m); -- Dave Baukus david.baukus@us.fujitsu.com 972-479-2491 Fujitsu Network Communications Richardson, Texas USA