Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 16 Dec 2012 22:16:23 +0100
From:      Marius Strobl <marius@alchemy.franken.de>
To:        Jeff Roberson <jroberson@jroberson.net>
Cc:        powerpc@freebsd.org, marcel@freebsd.org, mips@freebsd.org, mav@freebsd.org, scottl@freebsd.org, attilio@freebsd.org, kib@freebsd.org, sparc64@freebsd.org, arm@freebsd.org
Subject:   Re: Call for testing and review, busdma changes
Message-ID:  <20121216211623.GA49699@alchemy.franken.de>
In-Reply-To: <alpine.BSF.2.00.1212080841370.4081@desktop>
References:  <alpine.BSF.2.00.1212080841370.4081@desktop>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Dec 08, 2012 at 08:51:12AM -1000, Jeff Roberson wrote:
> Hello,
> 
> http://people.freebsd.org/~jeff/physbio.diff
> 
> I have a relative large patch that reforms the busdma API so that new 
> types may be added without modifying every architecture's 
> busdma_machdep.c.  It does this by unifying the bus_dmamap_load_buffer() 
> routines so that they may be called from MI code.  The MD busdma is then 
> given a chance to do any final processing in the complete() callback. 
> This patch also contains cam changes to unify the bus_dmamap_load* 
> handling in cam drivers.
> 
> The arm and mips implementations saw the largest changes since they have 
> to track virtual addresses for sync().  Previously this was done in a type 
> specific way.  Now it is done in a generic way by recording the list of 
> virtuals in the map.
> 
> I have verified that this patch passes make universe which includes 
> several kernel builds from each architecture.  I suspect that if I broke 
> anything your machine simply won't boot or will throw I/O errors.  There 
> is little subtlety, it is mostly refactoring.
> 
> The next step is to allow for dma loading of physical addresses.  This 
> will permit unmapped I/O.  Which is a significant performance optimization 
> targeted for 10.0.
> 
> Many thanks for your assistance.  Any review feedback is also appreciated.
> 

Survives a buildworld on sparc64; tested with mpt(4) and sym(4).

Marius




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