Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 31 Jan 2007 09:02:52 -0700
From:      Scott Long <scottl@samsco.org>
To:        Andrew Gallatin <gallatin@FreeBSD.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
Message-ID:  <45C0BDAC.4070306@samsco.org>
In-Reply-To: <45C0BC2F.9060303@samsco.org>
References:  <200701311547.l0VFliLC039432@repoman.freebsd.org> <45C0BC2F.9060303@samsco.org>

index | next in thread | previous in thread | raw e-mail

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



home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?45C0BDAC.4070306>