Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 Feb 2003 08:22:02 -0800
From:      "Sam Leffler" <sam@errno.com>
To:        "Andrew Gallatin" <gallatin@cs.duke.edu>
Cc:        "Mike Silbersack" <silby@silby.com>, "Scott Long" <scott_long@btc.adaptec.com>, <src-committers@FreeBSD.org>, <cvs-src@FreeBSD.org>, <cvs-all@FreeBSD.org>
Subject:   Re: cvs commit: src/sys/dev/aac aac.c aac_pci.c
Message-ID:  <0dcd01c2d8fc$33a49ee0$52557f42@errno.com>
References:  <200302192158.h1JLwYJn025529@repoman.freebsd.org> <20030219161458.T62705@patrocles.silby.com> <20030219181629.A46948@grasshopper.cs.duke.edu> <20030219182122.N62705@patrocles.silby.com> <3E54219C.9030103@btc.adaptec.com> <20030219212343.O64167@patrocles.silby.com> <0d1a01c2d894$c99c0540$52557f42@errno.com> <20030220093631.A48177@grasshopper.cs.duke.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
> Sam Leffler [sam@errno.com] wrote:
> > > On Wed, 19 Feb 2003, Scott Long wrote:
> > >
> > > > busdma has been around since 3.0.  It probably needs a couple of
hours
> > > > of work to lock it down.
> > >
> > > Hm, icky.  Is anyone in the know wrt busdma looking into handling
that?  I
> > > don't think we can get much done in the network drivers without
touching
> > > busdma functions.
> > >
> >
> > Since most bus_dma functions operate on driver-private data locking
drivers
> > will probably be sufficient to start.  The only issue I know of is that
> > bus_dmamem_alloc calls contigmalloc; so there may be an issue there
getting
> > out from under Giant.
> >
>
> I'm not the most familiar person with the busdma interface.. but..
> at least for network drivers, bus_dmamem_alloc() is typically called
> for descriptor lists, etc.  Eg, data shared with the nic, and is done
> at attach time, right?  Its never called from the transmit or recv
> routines.

Correct, for nic drivers you either pre-allocator or you map data associated
with mbufs (or private store if you do jumbograms and set them up as
externally-managed storage).

In general though, unless you pre-allocate memory you may need to use it at
the point where you setup for dma.  The ubsec crypto driver currently uses
it when handling asymmetric crypto ops.

    Sam


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-src" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0dcd01c2d8fc$33a49ee0$52557f42>