From owner-cvs-all@FreeBSD.ORG Fri Oct 3 11:27:25 2003 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C452716A4B3; Fri, 3 Oct 2003 11:27:25 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5897343F75; Fri, 3 Oct 2003 11:27:25 -0700 (PDT) (envelope-from rwatson@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h93IRPXJ096153; Fri, 3 Oct 2003 11:27:25 -0700 (PDT) (envelope-from rwatson@repoman.freebsd.org) Received: (from rwatson@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h93IRPMP096152; Fri, 3 Oct 2003 11:27:25 -0700 (PDT) (envelope-from rwatson) Message-Id: <200310031827.h93IRPMP096152@repoman.freebsd.org> From: Robert Watson Date: Fri, 3 Oct 2003 11:27:25 -0700 (PDT) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/net netisr.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Oct 2003 18:27:25 -0000 rwatson 2003/10/03 11:27:25 PDT FreeBSD src repository Modified files: sys/net netisr.c Log: When direct dispatching an netisr (net.isr.enable=1), if there are already any queued packets for the isr, process those packets before the newly submitted packet, maintaining ordering of all packets being delivered to the netisr. Remove the bypass counter since we don't bypass anymore. Leave the comment about possible problems and options since later performance optimization may change the strategy for addressing ordering problems here. Specifically, this maintains the strong isr ordering guarantee; additional parallelism and lower latency may be possible by moving to weaker guarantees (per-interface, for example). We will probably at some point also want to remove the one instance netisr dispatch limit currently enforced by a mutex, but it's not clear that's 100% safe yet, even in the netperf branch. Reviewed by: sam, others Revision Changes Path 1.7 +21 -13 src/sys/net/netisr.c