From owner-cvs-all@FreeBSD.ORG Wed Jan 31 16:03:11 2007 Return-Path: X-Original-To: cvs-all@FreeBSD.org Delivered-To: cvs-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 692EE16A401; Wed, 31 Jan 2007 16:03:11 +0000 (UTC) (envelope-from scottl@samsco.org) Received: from pooker.samsco.org (pooker.samsco.org [168.103.85.57]) by mx1.freebsd.org (Postfix) with ESMTP id 267B913C428; Wed, 31 Jan 2007 16:03:11 +0000 (UTC) (envelope-from scottl@samsco.org) Received: from phobos.samsco.home (phobos.samsco.home [192.168.254.11]) (authenticated bits=0) by pooker.samsco.org (8.13.4/8.13.4) with ESMTP id l0VG34fq085263; Wed, 31 Jan 2007 09:03:09 -0700 (MST) (envelope-from scottl@samsco.org) Message-ID: <45C0BDAC.4070306@samsco.org> Date: Wed, 31 Jan 2007 09:02:52 -0700 From: Scott Long User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.2pre) Gecko/20070111 SeaMonkey/1.1 MIME-Version: 1.0 To: Andrew Gallatin References: <200701311547.l0VFliLC039432@repoman.freebsd.org> <45C0BC2F.9060303@samsco.org> In-Reply-To: <45C0BC2F.9060303@samsco.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (pooker.samsco.org [168.103.85.57]); Wed, 31 Jan 2007 09:03:09 -0700 (MST) X-Spam-Status: No, score=-1.4 required=3.8 tests=ALL_TRUSTED autolearn=failed version=3.1.1 X-Spam-Checker-Version: SpamAssassin 3.1.1 (2006-03-10) on pooker.samsco.org Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/dev/mxge if_mxge.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 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: Wed, 31 Jan 2007 16:03:11 -0000 Scott Long wrote: > Andrew Gallatin wrote: >> gallatin 2007-01-31 15:47:44 UTC >> >> FreeBSD src repository >> >> Modified files: >> sys/dev/mxge if_mxge.c Log: >> destroy busdma maps even if they are NULL, so as to avoid leaking >> busdma tags. >> Revision Changes Path >> 1.19 +16 -18 src/sys/dev/mxge/if_mxge.c > > Yeah, I can't stress enough that busdma maps are opaque handles and > should always be handled like they are valid. It's only an > implementation detail that they are often NULL on i386 and amd64. > > Scott > Oh, I forgot to add that it's my intention to make them no longer be NULL on any platform. They need to hold the S/G list during a load operation; right now that list is stored in the tag, which in effect serializes drivers on whatever lock is protecting the tag. It also makes compound load operations more fragile. I just need to audit every single driver in the tree to make sure that there aren't assumptions being made about the map evaluating to NULL. Scott