From owner-freebsd-arch@FreeBSD.ORG Mon May 22 13:40:05 2006 Return-Path: X-Original-To: arch@FreeBSD.org 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 54C8F16A610; Mon, 22 May 2006 13:40:05 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [209.31.154.42]) by mx1.FreeBSD.org (Postfix) with ESMTP id BFDBE43D4C; Mon, 22 May 2006 13:40:04 +0000 (GMT) (envelope-from rwatson@FreeBSD.org) Received: from fledge.watson.org (fledge.watson.org [209.31.154.41]) by cyrus.watson.org (Postfix) with ESMTP id 5E92E46CF3; Mon, 22 May 2006 09:40:04 -0400 (EDT) Date: Mon, 22 May 2006 14:40:04 +0100 (BST) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: arch@FreeBSD.org Message-ID: <20060522143521.J21787@fledge.watson.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Mailman-Approved-At: Mon, 22 May 2006 14:28:30 +0000 Cc: Subject: (no subject) X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 May 2006 13:40:06 -0000 This e-mail is just to remind device driver authors of something that I hope they were already aware of: as FreeBSD has been shipping with a network stack largely capable of running without Giant since the 5.x series, we will no longer be accepting new network device drivers that require Giant compatibility to function. This is true both for UP and SMP systems. Non-MPSAFE network device driver compatibility adds significant overhead to the operation of the network stack, and non-MPSAFE network device drivers pay a very high overhead to operate in the current environment. The compatibility code also complicates calling components which do not hold Giant, especially with regard to management ioctls. We have also discussed requiring that all network device drivers in the system for 7.0 be able to operate MPSAFE. This runs into some issues due to non-MPSAFEty of some key device driver subsystems, including Firewire, USB, and the TTY subsystem. Poul-Henning is in the process of working on MPSAFE tty support, and I hope that people will step up to the plate to work on the remaining subsystems in the near future. That way we will be able to remove the compatibility code, and continue cleanup and optimization work. Thanks, Robert N M Watson