multisegment bus_dmamem_alloc()

Scott Long scottl at samsco.org
Fri Mar 2 16:04:04 UTC 2007


Mark Tinguely wrote:
> Are there any other devices other than bktr(4) that could benefit
> from a multisegment bus_dmamem_alloc(9) routine? The old USB system
> comes to mind, but I have not studied the new USB. There may be others.
> 
> NetBSD only partially implements this (if the number page allocated > number
> of segments, they punt and do a totally contiguous allocation - IMO, they
> could fix this pretty easy though).
> 
> I know chages to contigmalloc() is a tricky subject. I was hoping
> there are enough drivers that would provide enough merits to change
> such an important part of the system. If not, please forgive this noise.
> 

Looking at bktr, it's not at all clear to me why the author felt that
FreeBSD didn't support bus_dmamem_alloc.  It's even stranger since the
author explicitly tells the NetBSD/OpenBSD code to only allocate 1
segment.  Meh.  I'm getting tired of fighting the busdma API fight with
developers who deliberately ignore standard API's that have been
around for almost 10 years.  Multi-segment bus_dmamem_alloc support
would be nice, but bringing the drivers up to API standards would be an
even nicer first step.

Scott


More information about the freebsd-current mailing list