From owner-freebsd-current@FreeBSD.ORG Wed Aug 11 04:29:00 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 81BD216A4CE for ; Wed, 11 Aug 2004 04:29:00 +0000 (GMT) Received: from fledge.watson.org (fledge.watson.org [204.156.12.50]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1C3BF43D58 for ; Wed, 11 Aug 2004 04:29:00 +0000 (GMT) (envelope-from robert@fledge.watson.org) Received: from fledge.watson.org (localhost [127.0.0.1]) by fledge.watson.org (8.12.11/8.12.11) with ESMTP id i7B4RPaA005494 for ; Wed, 11 Aug 2004 00:27:25 -0400 (EDT) (envelope-from robert@fledge.watson.org) Received: from localhost (robert@localhost)i7B4RPVE005491 for ; Wed, 11 Aug 2004 00:27:25 -0400 (EDT) (envelope-from robert@fledge.watson.org) Date: Wed, 11 Aug 2004 00:27:25 -0400 (EDT) From: Robert Watson X-Sender: robert@fledge.watson.org To: current@FreeBSD.org Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Subject: USB network device drivers now usable with debug.mpsafenet=1 (was:cvs commit: src/sys/dev/usb if_aue.c if_axe.c if_cue.c if_kue.c if_rue.c if_udav.c (fwd)) X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Aug 2004 04:29:00 -0000 FYI, with this change it should be substantially safer to run a Giant-free network stack with USB network devices, despite the USB device framework not being MPSAFE. I have similar patches for a number of non-locked network device drivers, including Firewire networking and older ethernet devices, and will merge those in the next few days. This may result in a performance hit for these devices, which may or may not be made up for by removing the Giant lock from the network stack. However, it gives us some room to keep these devices operational in a Giant-free world to allow more time for the device drivers to be made Giant-free. For those interested in the continuing evolution of the netperf work, a change log can be found at: http://www.watson.org/~robert/freebsd/netperf/ I'll send out an updated version of my notice on using the network stack without the Giant lock in a couple of days once I've wrapped up my current batch of merging. Robert N M Watson FreeBSD Core Team, TrustedBSD Projects robert@fledge.watson.org Principal Research Scientist, McAfee Research ---------- Forwarded message ---------- Date: Wed, 11 Aug 2004 03:38:55 +0000 (UTC) From: Robert Watson To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/dev/usb if_aue.c if_axe.c if_cue.c if_kue.c if_rue.c if_udav.c rwatson 2004-08-11 03:38:55 UTC FreeBSD src repository Modified files: sys/dev/usb if_aue.c if_axe.c if_cue.c if_kue.c if_rue.c if_udav.c Log: Mark USB ethernet devices as IFF_NEEDSGIANT, since the USB framework if_start routines cannot currently be entered without Giant. When the kernel is running with debug.mpsafenet != 0, this will defer if_start execution to a task queue thread holding Giant, which may introduce additional latency, but avoid incorrect execution. Suggested by: dfr Revision Changes Path 1.86 +2 -1 src/sys/dev/usb/if_aue.c 1.21 +2 -1 src/sys/dev/usb/if_axe.c 1.52 +2 -1 src/sys/dev/usb/if_cue.c 1.58 +2 -1 src/sys/dev/usb/if_kue.c 1.16 +2 -1 src/sys/dev/usb/if_rue.c 1.8 +2 -1 src/sys/dev/usb/if_udav.c