From owner-freebsd-arch@FreeBSD.ORG Mon May 24 02:09:00 2004 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 40C9116A4CE; Mon, 24 May 2004 02:09:00 -0700 (PDT) Received: from n33.kp.t-systems-sfr.com (n33.kp.t-systems-sfr.com [129.247.16.33]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3BF1543D2F; Mon, 24 May 2004 02:08:59 -0700 (PDT) (envelope-from harti@freebsd.org) Received: from n81.sp.op.dlr.de (n81g.sp.op.dlr.de [129.247.163.1]) i4O98Fj87866; Mon, 24 May 2004 11:08:16 +0200 Received: from zeus.nt.op.dlr.de (zeus.nt.op.dlr.de [129.247.173.3]) by n81.sp.op.dlr.de (AIX5.1/8.11.6p2/8.11.0) with ESMTP id i4O98FK151224; Mon, 24 May 2004 11:08:15 +0200 Received: from localhost (brandt@localhost) by zeus.nt.op.dlr.de (8.11.7+Sun/8.9.1) with ESMTP id i4O98DM11557; Mon, 24 May 2004 11:08:13 +0200 (MET DST) X-Authentication-Warning: zeus.nt.op.dlr.de: brandt owned process doing -bs Date: Mon, 24 May 2004 11:08:13 +0200 (MET DST) From: Harti Brandt X-X-Sender: brandt@zeus To: Robert Watson In-Reply-To: Message-ID: References: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: arch@freebsd.org Subject: Re: Network Stack Locking X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Harti Brandt List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 May 2004 09:09:00 -0000 On Thu, 20 May 2004, Robert Watson wrote: RW>- ATM -- Harti? :-) Sure. At least netnatm, netgraph/atm and the various drivers. At one point I want to get rid of netatm, so I don't want to put effort into netatm (just keep it working and compliling). netgraph/atm should be clean to the point as netgraph in general is clean (with regards to locking). The drivers (en, [pfh]atm) also are locked, but I'll probably do another iteration when I get my working environment back (I'm currently moving from Berlin to Munich). RW>- Network device drivers -- some have locking, some have correct locking, RW> some have potential interactions with other pieces of the system (such RW> as the USB stack). Note that for a driver to work correctly with a RW> Giant-free system, it must be safe to invoke ifp->if_start() without RW> holding Giant, and for if_start() to be aware that it cannot RW> acquire Giant without generating a lock order issue. It's OK for RW> if_input() to be called with Giant, although undesirable generally. RW> Some drivers also have locking that is commented out by default due to RW> use of recursive locks, but I'm not sure this is necessarily sufficient RW> problem not to just turn on the locking. Is there anybody working on the interaction between the network drivers and the module loader (race condition between the interrupt handler and xxx_detach())? harti